From 153e273fec5396c5bd0991867a3b38b5335ab54f Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 9 Jul 2025 13:52:46 +0200 Subject: [PATCH 01/36] firefox check entfernt --- cis/testtool/login.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/cis/testtool/login.php b/cis/testtool/login.php index 5a2ae0dea..5306dadab 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -447,14 +447,6 @@ if (isset($_POST['save']) && isset($_SESSION['prestudent_id'])) { e.preventDefault(); }); - // If Browser is any other than Mozilla Firefox and the test includes any MathML, - // show message to use Mozilla Firefox - var ua = navigator.userAgent; - if ((ua.indexOf("Firefox") > -1) == false) - { - $("#alertmsgdiv").html("
BITTE VERWENDEN SIE DEN MOZILLA FIREFOX BROWSER!
(Manche Prüfungsfragen werden sonst nicht korrekt dargestellt.

PLEASE USE MOZILLA FIREFOX BROWSER!
(Otherwise some exam items will not be displayed correctly
"); - //alert('BITTE VERWENDEN SIE DEN MOZILLA FIREFOX BROWSER!\n(Manche Prüfungsfragen werden sonst nicht korrekt dargestellt.\n\nPLEASE USE MOZILLA FIREFOX BROWSER!\n(Ohterwise some exam items will not be displayed correctly.)'); - } }); Date: Mon, 20 Oct 2025 16:08:12 +0200 Subject: [PATCH 02/36] use shorter table names for columns stg and orgform , add column ausbildungssemester --- .../models/person/Profil_update_model.php | 3 +- .../Cis/ProfilUpdate/ProfilUpdateView.js | 13 ++++-- system/phrasesupdate.php | 40 +++++++++++++++++++ 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/application/models/person/Profil_update_model.php b/application/models/person/Profil_update_model.php index 31005c4b7..039810537 100644 --- a/application/models/person/Profil_update_model.php +++ b/application/models/person/Profil_update_model.php @@ -135,7 +135,8 @@ class Profil_update_model extends DB_Model attachment_id, UPPER(public.tbl_studiengang.typ || public.tbl_studiengang.kurzbz) AS studiengang, COALESCE(of.orgform_kurzbz, public.tbl_studiengang.orgform_kurzbz) AS orgform, - NULL as oezuordnung + NULL as oezuordnung, + tbl_student.semester FROM public.tbl_profil_update JOIN public.tbl_profil_update_status ON public.tbl_profil_update_status.status_kurzbz = public.tbl_profil_update.status JOIN public.tbl_student ON public.tbl_student.student_uid=public.tbl_profil_update.uid diff --git a/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js b/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js index 745f53002..24a5d8bc3 100644 --- a/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js +++ b/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js @@ -46,7 +46,6 @@ export default { loading: false, filter: "Pending", profil_update_id: Number(this.id), - }; }, computed: { @@ -205,7 +204,7 @@ export default { //responsive:0, }, { - title: this.$p.t("lehre", "studiengang") + ' (' + this.$p.t("profil", "studentIn") + ')', + title: this.$p.t("profil", "stg_short") + ' (' + this.$p.t("profil", "studentIn") + ')', field: "studiengang", minWidth: 50, resizable: true, @@ -214,7 +213,7 @@ export default { //responsive:0, }, { - title: this.$p.t("lehre", "organisationsform") + ' (' + this.$p.t("profil", "studentIn") + ')', + title: this.$p.t("profil", "orgform_short") + ' (' + this.$p.t("profil", "studentIn") + ')', field: "orgform", minWidth: 50, resizable: true, @@ -278,6 +277,12 @@ export default { minWidth: 200, //responsive:0, }, + { + title: this.$p.t("lehre", "ausbildungssemester"), + field: "semester", + headerFilter: "list", + headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:"asc"} + }, { title: this.$p.t("profilUpdate", "actions"), headerSort: false, @@ -415,7 +420,7 @@ export default { }, template: /*html*/ `
- +
{{$p.t('ui','anzeigen')}}
diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 5d3833dc9..aace77876 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -28596,6 +28596,46 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'profil', + 'phrase' => 'stg_short', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'StG', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'degree Progr', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'profil', + 'phrase' => 'orgform_short', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'OrgForm', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'org Form', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), //Profil Phrasen ende // LvPlan Phrasen start array( From 1423579a49ad245aa9fed4bac817f500027b6741 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Tue, 21 Oct 2025 14:42:02 +0200 Subject: [PATCH 03/36] refactor Profile Update for filter, backendfilter not active --- .../components/filters/ProfileUpdate.php | 51 ++++++++++ .../Cis/ProfilUpdate/ProfilUpdateView.js | 96 +++++++++++++++++-- system/filtersupdate.php | 57 +++++++++++ 3 files changed, 196 insertions(+), 8 deletions(-) create mode 100644 application/components/filters/ProfileUpdate.php diff --git a/application/components/filters/ProfileUpdate.php b/application/components/filters/ProfileUpdate.php new file mode 100644 index 000000000..1a53e5145 --- /dev/null +++ b/application/components/filters/ProfileUpdate.php @@ -0,0 +1,51 @@ + 'core', + 'datasetName' => 'profileupdate', + 'query' => ' + SELECT + profil_update_id, + tbl_profil_update.uid, + (tbl_person.vorname || \' \' || tbl_person.nachname) AS name , + topic, + requested_change, + tbl_profil_update.updateamum, + tbl_profil_update.updatevon, + tbl_profil_update.insertamum, + tbl_profil_update.insertvon, + status, + public.tbl_profil_update_status.bezeichnung_mehrsprachig[(" . $lang . ")] as status_translated, + status_timestamp, + status_message, + attachment_id, + UPPER(public.tbl_studiengang.typ || public.tbl_studiengang.kurzbz) AS studiengang, + COALESCE(of.orgform_kurzbz, public.tbl_studiengang.orgform_kurzbz) AS orgform, + NULL as oezuordnung, + tbl_student.semester + FROM public.tbl_profil_update + JOIN public.tbl_profil_update_status ON public.tbl_profil_update_status.status_kurzbz = public.tbl_profil_update.status + JOIN public.tbl_student ON public.tbl_student.student_uid=public.tbl_profil_update.uid + JOIN public.tbl_benutzer ON public.tbl_benutzer.uid = public.tbl_student.student_uid + JOIN public.tbl_person ON public.tbl_benutzer.person_id=public.tbl_person.person_id + JOIN public.tbl_studiengang ON public.tbl_studiengang.studiengang_kz=public.tbl_student.studiengang_kz + LEFT JOIN ( + select + pss.prestudent_id, COALESCE(sp.orgform_kurzbz, pss.orgform_kurzbz) as orgform_kurzbz + from ( + select + prestudent_id, max(insertamum) as insertamum + from + public.tbl_prestudentstatus + where + datum <= NOW() + group by + prestudent_id + ) mpss + join + public.tbl_prestudentstatus pss on pss.prestudent_id = mpss.prestudent_id and pss.insertamum = mpss.insertamum + left join + lehre.tbl_studienplan sp on pss.studienplan_id = sp.studienplan_id + ) of ON of.prestudent_id = public.tbl_student.prestudent_id + ', + 'requiredPermissions' => 'student/stammdaten' +); \ No newline at end of file diff --git a/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js b/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js index 24a5d8bc3..bec825495 100644 --- a/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js +++ b/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js @@ -417,25 +417,105 @@ export default { if (sessionStorage.getItem("filter")) { this.filter = sessionStorage.getItem("filter"); } - }, - template: /*html*/ ` -
- -
+ /* +
{{$p.t('ui','anzeigen')}}
- + - +
+ + + :title="$p.t('profilUpdate','profilUpdateRequests')" + +

{{$p.t('profilUpdate', 'profilUpdateRequests')}}

+ + +
+
+ +
+
+ + + //Version mit filter rechts in eigener zeile + + + +
+ +
+ +
+ + //backendfilter not working: no parameters provided + + + + */ + + + + + }, + template: /*html*/ ` +
+ + + +

{{$p.t('profilUpdate', 'profilUpdateRequests')}}

+ - +
+ +
+ +
+
+ + + +
`, }; diff --git a/system/filtersupdate.php b/system/filtersupdate.php index 9e3c62a33..2942bcb4e 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -1558,6 +1558,63 @@ $filters = array( }', 'oe_kurzbz' => null, ), + array( + 'app' => 'core', + 'dataset_name' => 'profileupdate', + 'filter_kurzbz' => 'ProfilupdatePending', + 'description' => '{Ausstehende Anfragen}', + 'sort' => 1, + 'default_filter' => true, + 'filter' => ' + { + "name": "Ausstehende Anfragen", + "columns": [ + {"name": "uid"}, + {"name": "name"}, + {"name": "studiengang"}, + {"name": "orgform"}, + {"name": "oezuordnung"}, + {"name": "status_translated"}, + {"name": "topic"}, + {"name": "insertamum_iso"}, + {"name": "semester"} + ], + "filters": [ + { + "name": "status_translated", + "option": "", + "operation": "equal", + "condition": "true" + } + ] + }', + 'oe_kurzbz' => null, + ), + array( + 'app' => 'core', + 'dataset_name' => 'profileupdate', + 'filter_kurzbz' => 'ProfilupdateAlle', + 'description' => '{Alle Anfragen}', + 'sort' => 1, + 'default_filter' => false, + 'filter' => ' + { + "name": "Alle Anfragen", + "columns": [ + {"name": "uid"}, + {"name": "name"}, + {"name": "studiengang"}, + {"name": "orgform"}, + {"name": "oezuordnung"}, + {"name": "status_translated"}, + {"name": "topic"}, + {"name": "insertamum_iso"}, + {"name": "semester"} + ], + "filters": [] + }', + 'oe_kurzbz' => null, + ), ); From 9a8fbabbe46f0519cecae6d6798bd8f7ee12d234 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 22 Oct 2025 14:25:43 +0200 Subject: [PATCH 04/36] move dropdown profileUpdateStates to FilterComponent, delete not needed code --- .../components/filters/ProfileUpdate.php | 51 ------ .../Cis/ProfilUpdate/ProfilUpdateView.js | 146 +++++------------- system/filtersupdate.php | 58 ------- system/phrasesupdate.php | 39 +++++ 4 files changed, 74 insertions(+), 220 deletions(-) delete mode 100644 application/components/filters/ProfileUpdate.php diff --git a/application/components/filters/ProfileUpdate.php b/application/components/filters/ProfileUpdate.php deleted file mode 100644 index 1a53e5145..000000000 --- a/application/components/filters/ProfileUpdate.php +++ /dev/null @@ -1,51 +0,0 @@ - 'core', - 'datasetName' => 'profileupdate', - 'query' => ' - SELECT - profil_update_id, - tbl_profil_update.uid, - (tbl_person.vorname || \' \' || tbl_person.nachname) AS name , - topic, - requested_change, - tbl_profil_update.updateamum, - tbl_profil_update.updatevon, - tbl_profil_update.insertamum, - tbl_profil_update.insertvon, - status, - public.tbl_profil_update_status.bezeichnung_mehrsprachig[(" . $lang . ")] as status_translated, - status_timestamp, - status_message, - attachment_id, - UPPER(public.tbl_studiengang.typ || public.tbl_studiengang.kurzbz) AS studiengang, - COALESCE(of.orgform_kurzbz, public.tbl_studiengang.orgform_kurzbz) AS orgform, - NULL as oezuordnung, - tbl_student.semester - FROM public.tbl_profil_update - JOIN public.tbl_profil_update_status ON public.tbl_profil_update_status.status_kurzbz = public.tbl_profil_update.status - JOIN public.tbl_student ON public.tbl_student.student_uid=public.tbl_profil_update.uid - JOIN public.tbl_benutzer ON public.tbl_benutzer.uid = public.tbl_student.student_uid - JOIN public.tbl_person ON public.tbl_benutzer.person_id=public.tbl_person.person_id - JOIN public.tbl_studiengang ON public.tbl_studiengang.studiengang_kz=public.tbl_student.studiengang_kz - LEFT JOIN ( - select - pss.prestudent_id, COALESCE(sp.orgform_kurzbz, pss.orgform_kurzbz) as orgform_kurzbz - from ( - select - prestudent_id, max(insertamum) as insertamum - from - public.tbl_prestudentstatus - where - datum <= NOW() - group by - prestudent_id - ) mpss - join - public.tbl_prestudentstatus pss on pss.prestudent_id = mpss.prestudent_id and pss.insertamum = mpss.insertamum - left join - lehre.tbl_studienplan sp on pss.studienplan_id = sp.studienplan_id - ) of ON of.prestudent_id = public.tbl_student.prestudent_id - ', - 'requiredPermissions' => 'student/stammdaten' -); \ No newline at end of file diff --git a/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js b/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js index bec825495..222290e98 100644 --- a/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js +++ b/public/js/components/Cis/ProfilUpdate/ProfilUpdateView.js @@ -212,7 +212,13 @@ export default { headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:"asc"}, //responsive:0, }, - { + { + title: this.$p.t("profil", "sem_short") + ' (' + this.$p.t("profil", "studentIn") + ')', + field: "semester", + headerFilter: "list", + headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:"asc"} + }, + { title: this.$p.t("profil", "orgform_short") + ' (' + this.$p.t("profil", "studentIn") + ')', field: "orgform", minWidth: 50, @@ -221,8 +227,8 @@ export default { headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:"asc"}, //responsive:0, }, - { - title: this.$p.t("lehre", "organisationseinheit") + ' (' + this.$p.t("profil", "mitarbeiterIn") + ')', + { + title: this.$p.t("profil", "orgeinheit_short") + ' (' + this.$p.t("profil", "mitarbeiterIn") + ')', field: "oezuordnung", minWidth: 200, resizable: true, @@ -230,7 +236,7 @@ export default { headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:"asc"}, //responsive:0, }, - { + { title: this.$p.t("profilUpdate", "Topic"), field: "topic", resizable: true, @@ -239,7 +245,7 @@ export default { headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:"asc"}, //responsive:0, }, - { + { title: this.$p.t("profilUpdate", "insertamum"), field: "insertamum_iso", resizable: true, @@ -250,7 +256,7 @@ export default { formatterParams: this.datetimeFormatterParams(), //responsive:0, }, - { + { title: this.$p.t("profilUpdate", "Status"), field: "status_translated", hozAlign: "center", @@ -272,17 +278,10 @@ export default { } return `
${cell.getValue()}
`; }, - resizable: true, minWidth: 200, //responsive:0, }, - { - title: this.$p.t("lehre", "ausbildungssemester"), - field: "semester", - headerFilter: "list", - headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:"asc"} - }, { title: this.$p.t("profilUpdate", "actions"), headerSort: false, @@ -314,7 +313,6 @@ export default { ], }; } - }, methods: { denyProfilUpdate: function (data) { @@ -356,7 +354,6 @@ export default { this.showModal = false; this.modalData = null; }, - showAcceptDenyModal(value) { this.modalData = value; if (!this.modalData) { @@ -369,7 +366,6 @@ export default { this.$refs.AcceptDenyModal.show(); }); }, - updateData: function (event) { this.$refs.UpdatesTable.tabulator.setData(); //? store the selected view in the session storage of the browser @@ -417,105 +413,33 @@ export default { if (sessionStorage.getItem("filter")) { this.filter = sessionStorage.getItem("filter"); } - - /* -
-
{{$p.t('ui','anzeigen')}}
- - - -
- - - :title="$p.t('profilUpdate','profilUpdateRequests')" - -

{{$p.t('profilUpdate', 'profilUpdateRequests')}}

- - -
-
- -
-
- - - //Version mit filter rechts in eigener zeile - - - -
- -
- -
- - //backendfilter not working: no parameters provided - - - - */ - - - - }, template: /*html*/ `
+ +

{{$p.t('profilUpdate', 'profilUpdateRequests')}}

+ - - -

{{$p.t('profilUpdate', 'profilUpdateRequests')}}

- - - -
- -
- + + + - - - - -
`, +
`, }; diff --git a/system/filtersupdate.php b/system/filtersupdate.php index 2942bcb4e..a4deca527 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -1558,64 +1558,6 @@ $filters = array( }', 'oe_kurzbz' => null, ), - array( - 'app' => 'core', - 'dataset_name' => 'profileupdate', - 'filter_kurzbz' => 'ProfilupdatePending', - 'description' => '{Ausstehende Anfragen}', - 'sort' => 1, - 'default_filter' => true, - 'filter' => ' - { - "name": "Ausstehende Anfragen", - "columns": [ - {"name": "uid"}, - {"name": "name"}, - {"name": "studiengang"}, - {"name": "orgform"}, - {"name": "oezuordnung"}, - {"name": "status_translated"}, - {"name": "topic"}, - {"name": "insertamum_iso"}, - {"name": "semester"} - ], - "filters": [ - { - "name": "status_translated", - "option": "", - "operation": "equal", - "condition": "true" - } - ] - }', - 'oe_kurzbz' => null, - ), - array( - 'app' => 'core', - 'dataset_name' => 'profileupdate', - 'filter_kurzbz' => 'ProfilupdateAlle', - 'description' => '{Alle Anfragen}', - 'sort' => 1, - 'default_filter' => false, - 'filter' => ' - { - "name": "Alle Anfragen", - "columns": [ - {"name": "uid"}, - {"name": "name"}, - {"name": "studiengang"}, - {"name": "orgform"}, - {"name": "oezuordnung"}, - {"name": "status_translated"}, - {"name": "topic"}, - {"name": "insertamum_iso"}, - {"name": "semester"} - ], - "filters": [] - }', - 'oe_kurzbz' => null, - ), - ); // Loop through the filters array diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index aace77876..ad8d52f0a 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -28636,6 +28636,45 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'profil', + 'phrase' => 'orgeinheit_short', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'OrgEH', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'org Unit', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( + 'app' => 'core', + 'category' => 'profil', + 'phrase' => 'sem_short', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Sem', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'sem', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), //Profil Phrasen ende // LvPlan Phrasen start array( From d76e84639fc6ddaeabc0e45190abd7d459fd7787 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Thu, 20 Nov 2025 16:18:55 +0100 Subject: [PATCH 05/36] neue Phrasen bzw. Phrasenupdate zu Abmeldungsgruende Studierendenantrag --- .../Studierendenantrag/Form/AbmeldungStgl.js | 10 +- system/phrasesupdate.php | 176 +++++++++++++++++- 2 files changed, 177 insertions(+), 9 deletions(-) diff --git a/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js b/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js index 81106e64c..332c2a16a 100644 --- a/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js +++ b/public/js/components/Studierendenantrag/Form/AbmeldungStgl.js @@ -192,7 +192,15 @@ export default { + + + + +