From 756b9b995d8b897a3c4872f3e304af1d38923a36 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 12 Aug 2026 17:34:05 +0200 Subject: [PATCH 1/2] add new Formfield uhrzeit in Tab Abschlusspruefung --- application/config/stv.php | 3 ++ .../api/frontend/v1/stv/Abschlusspruefung.php | 2 ++ .../Abschlusspruefung/Abschlusspruefung.js | 28 +++++++++++++++++-- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/application/config/stv.php b/application/config/stv.php index b12153eda..68848ad2c 100644 --- a/application/config/stv.php +++ b/application/config/stv.php @@ -182,3 +182,6 @@ $config['stv_prestudent_tags'] = [ ]; $config['userAutomatedTags'] = 'sftest'; + +//Config for showing/hiding field Uhrzeit in Tab Final Exam +//$config['tabs']['finalexam']['hiddenFields'] = ['uhrzeit']; diff --git a/application/controllers/api/frontend/v1/stv/Abschlusspruefung.php b/application/controllers/api/frontend/v1/stv/Abschlusspruefung.php index 7c1c974e2..e3bf79106 100644 --- a/application/controllers/api/frontend/v1/stv/Abschlusspruefung.php +++ b/application/controllers/api/frontend/v1/stv/Abschlusspruefung.php @@ -315,6 +315,7 @@ class Abschlusspruefung extends FHCAPI_Controller 'abschlussbeurteilung_kurzbz' => $formData['abschlussbeurteilung_kurzbz'], 'datum' => $formData['datum'], //TODO(Manu) check if minute format like FAS 'sponsion' => $formData['sponsion'], + 'uhrzeit' => $formData['uhrzeit'], 'pruefer1' => $formData['pruefer1'], 'pruefer2' => $formData['pruefer2'], 'pruefer3' => $formData['pruefer3'], @@ -387,6 +388,7 @@ class Abschlusspruefung extends FHCAPI_Controller 'abschlussbeurteilung_kurzbz' => $formData['abschlussbeurteilung_kurzbz'], 'datum' => $datum, 'sponsion' => $sponsion, + 'uhrzeit' => $formData['uhrzeit'], 'pruefer1' => $pruefer1, 'pruefer2' => $pruefer2, 'pruefer3' => $pruefer3, diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js b/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js index e9f6f7492..0505762cc 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js @@ -56,7 +56,8 @@ export default { anmerkung: null, protokoll: null, note: null, - link: null + link: null, + uhrzeit: null }, statusNew: true, arrTypen: [], @@ -416,6 +417,7 @@ export default { localStorage.setItem(STORAGE_KEY, JSON.stringify(stored)); }, addNewAbschlusspruefung() { + this.checkFormatUhrzeit(); const dataToSend = { uid: this.student.uid, formData: this.formData @@ -436,6 +438,7 @@ export default { }); }, async addNewAbschlusspruefungMulti(){ + this.checkFormatUhrzeit(); try { const arraySuccessfullySent = []; const arrayError = []; @@ -489,6 +492,7 @@ export default { .catch(this.$fhcAlert.handleSystemError); }, updateAbschlusspruefung(abschlusspruefung_id) { + this.checkFormatUhrzeit(); const dataToSend = { id: abschlusspruefung_id, formData: this.formData @@ -527,6 +531,7 @@ export default { this.formData.abschlussbeurteilung_kurzbz = null; this.formData.datum = null; this.formData.sponsion = null; + this.formData.uhrzeit = null; this.formData.pruefer1 = null; this.formData.pruefer2 = null; this.formData.pruefer3 = null; @@ -617,6 +622,13 @@ export default { } }); }, + checkFormatUhrzeit(){ + if(this.formData.uhrzeit) { + this.formData.uhrzeit = typeof (this.formData.uhrzeit) == 'object' ? + `${String(this.formData.uhrzeit.hours).padStart(2, '0')}:${String(this.formData.uhrzeit.minutes).padStart(2, '0')}` + : this.formData.uhrzeit; + } + } }, created() { this.$api @@ -711,7 +723,6 @@ export default { - {{this.$p.t('global','details')}}

[{{$p.t('ui', 'neu')}}]

@@ -912,6 +923,19 @@ export default { +
+ +
+
Date: Tue, 20 Oct 2026 07:54:08 +0200 Subject: [PATCH 2/2] configure model-type on field uhrzeit timepicker and remove obsolete checkfunction, add translations for timepicker buttons, add uhrzeit to localstorage --- application/config/stv.php | 6 +++--- .../Abschlusspruefung/Abschlusspruefung.js | 17 ++++++----------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/application/config/stv.php b/application/config/stv.php index 68848ad2c..23ac7819f 100644 --- a/application/config/stv.php +++ b/application/config/stv.php @@ -74,6 +74,9 @@ $config['tabs'] = ], ], ], + 'hiddenFields' => [ + 'uhrzeit' + ] ], 'exemptions' => [ //if true, Anrechnungen can be added and edited in tab Anrechnungen @@ -182,6 +185,3 @@ $config['stv_prestudent_tags'] = [ ]; $config['userAutomatedTags'] = 'sftest'; - -//Config for showing/hiding field Uhrzeit in Tab Final Exam -//$config['tabs']['finalexam']['hiddenFields'] = ['uhrzeit']; diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js b/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js index 9e04b20b8..13b785270 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Abschlusspruefung/Abschlusspruefung.js @@ -311,6 +311,7 @@ export default { this.formData.pruefungstyp_kurzbz = data.pruefungstyp_kurzbz; this.formData.datum = data.datum; + this.formData.uhrzeit = data.uhrzeit; this.formData.sponsion = data.sponsion; this.formData.akadgrad_id = data.akadgrad_id; this.formData.pruefungsantritt_kurzbz = data.pruefungsantritt_kurzbz; @@ -412,12 +413,12 @@ export default { pruefer3_label: this.selectedPruefer3?.label || null, akadgrad_id: this.formData.akadgrad_id, datum: this.formData.datum, + uhrzeit: this.formData.uhrzeit || null, sponsion: this.formData.sponsion }; localStorage.setItem(STORAGE_KEY, JSON.stringify(stored)); }, addNewAbschlusspruefung() { - this.checkFormatUhrzeit(); const dataToSend = { uid: this.student.uid, formData: this.formData @@ -438,7 +439,6 @@ export default { }); }, async addNewAbschlusspruefungMulti(){ - this.checkFormatUhrzeit(); try { const arraySuccessfullySent = []; const arrayError = []; @@ -492,7 +492,6 @@ export default { .catch(this.$fhcAlert.handleSystemError); }, updateAbschlusspruefung(abschlusspruefung_id) { - this.checkFormatUhrzeit(); const dataToSend = { id: abschlusspruefung_id, formData: this.formData @@ -625,13 +624,6 @@ export default { ); } }); - }, - checkFormatUhrzeit(){ - if(this.formData.uhrzeit) { - this.formData.uhrzeit = typeof (this.formData.uhrzeit) == 'object' ? - `${String(this.formData.uhrzeit.hours).padStart(2, '0')}:${String(this.formData.uhrzeit.minutes).padStart(2, '0')}` - : this.formData.uhrzeit; - } } }, created() { @@ -933,10 +925,13 @@ export default { :label="$p.t('global', 'uhrzeit')" type="DatePicker" v-model="formData.uhrzeit" + model-type="HH:mm:ss" time-picker text-input name="uhrzeit" :teleport="true" + :cancel-text="$p.t('ui', 'abbrechen')" + :select-text="$p.t('ui', 'ok')" />
@@ -1003,7 +998,7 @@ export default { :cisRoot="cisRoot" @linkGenerated="printDocument" > - + ` }