From f3986688f231ec97e619208cd0e619a13a4ceb7a Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 26 Feb 2026 12:50:37 +0100 Subject: [PATCH 1/6] selfoverview: nur aktive kategorien anzeigen uebersetzungen hinzugefuegt --- system/phrasesupdate.php | 166 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index deb856663..f7fe822ce 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -3863,6 +3863,172 @@ $phrases = array( ) ) ), + array( + 'app' => 'pep', + 'category' => 'ui', + 'phrase' => 'geplZeitraum', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'geplanter Zeitraum', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'planned Period', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'pep', + 'category' => 'ui', + 'phrase' => 'bitteAuswaehlen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Bitte auswählen...', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Please select...', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'pep', + 'category' => 'ui', + 'phrase' => 'hinweisLehrende', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Hinweis für Lehrende', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Note for Lecturers', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'pep', + 'category' => 'ui', + 'phrase' => 'lehreinheiten', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Lehreinheiten', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Teaching Units', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'pep', + 'category' => 'ui', + 'phrase' => 'lead', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Leitung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Lead', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'pep', + 'category' => 'ui', + 'phrase' => 'teamlead', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Team / Leitung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Team / Lead', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'pep', + 'category' => 'ui', + 'phrase' => 'ausblick_lvplanung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Ausblick auf Ihre mögliche LV-Planung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Preview of Your Potential Course Planning', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + + array( + 'app' => 'pep', + 'category' => 'ui', + 'phrase' => 'detailselfoverview', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Achtung: die vorliegenden Informationen stellen eine Vorabplanung dar und sind als Anfrage an Sie gedacht.

+ Die Beauftragung der tatsächlichen Lehrveranstaltungen erfolgt durch Ihre Kompetenzfeldleitung.

+ Ihre aktuell gültigen Lehraufträge und den LV Plan des aktuellen Semesters (Termine) finden Sie wie gewohnt unter „mein CIS“ -> „LV-Plan Hauptmenü“ bzw. „Lehrauftragsverwaltung“.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Please note: The information provided represents a preliminary planning and is intended as an inquiry to you.

+ The official assignment of the actual courses will be carried out by your Competence Field Manager.

+ Your currently valid teaching assignments and the course schedule for the current semester (dates) can be found as usual under “My CIS” → “Schedule Main Menu” or “Teaching Assignment Administration”', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( 'app' => 'pep', 'category' => 'ui', From b91efb6189a4906ba46a4f8ca38bc07f166214d7 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Thu, 12 Mar 2026 13:56:03 +0100 Subject: [PATCH 2/6] stv notizperson fix permission check to be able to add notes to prestudents that do not have an uid --- .../api/frontend/v1/notiz/NotizPerson.php | 41 ++++--------------- 1 file changed, 9 insertions(+), 32 deletions(-) diff --git a/application/controllers/api/frontend/v1/notiz/NotizPerson.php b/application/controllers/api/frontend/v1/notiz/NotizPerson.php index 7f0645bc6..a047129d7 100644 --- a/application/controllers/api/frontend/v1/notiz/NotizPerson.php +++ b/application/controllers/api/frontend/v1/notiz/NotizPerson.php @@ -24,6 +24,7 @@ class NotizPerson extends Notiz_Controller //Load Models $this->load->model('person/Benutzer_model', 'BenutzerModel'); $this->load->model('crm/Student_model', 'StudentModel'); + $this->load->model('crm/Prestudent_model', 'PrestudentModel'); //Permission checks for allowed Oes if ($this->router->method == 'addNewNotiz') @@ -38,7 +39,7 @@ class NotizPerson extends Notiz_Controller { return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Person ID']), self::ERROR_TYPE_GENERAL); } - $this->_checkIfBerechtigungForOneUidExists($person_id, $allowedStgs); + $this->_checkIfBerechtigungForOnePrestudentExists($person_id, $allowedStgs); } if ( $this->router->method == 'updateNotiz') @@ -59,7 +60,7 @@ class NotizPerson extends Notiz_Controller $person_id = current($data)->person_id; $allowedStgs = $this->permissionlib->getSTG_isEntitledFor('assistenz') ?: []; - $this->_checkIfBerechtigungForOneUidExists($person_id, $allowedStgs); + $this->_checkIfBerechtigungForOnePrestudentExists($person_id, $allowedStgs); } if ($this->router->method == 'deleteNotiz' ) @@ -78,7 +79,7 @@ class NotizPerson extends Notiz_Controller } $allowedStgs = $this->permissionlib->getSTG_isEntitledFor('assistenz') ?: []; - $this->_checkIfBerechtigungForOneUidExists($person_id, $allowedStgs); + $this->_checkIfBerechtigungForOnePrestudentExists($person_id, $allowedStgs); } } @@ -99,44 +100,20 @@ class NotizPerson extends Notiz_Controller } //stv: if person has permission of one studiengang of person -> permission to add/update/delete Note - private function _checkIfBerechtigungForOneUidExists($person_id, $allowedStgs) + private function _checkIfBerechtigungForOnePrestudentExists($person_id, $allowedStgs) { - //get all studentUids of person_id - $result = $this->BenutzerModel->loadWhere(['person_id' => $person_id]); + $result = $this->PrestudentModel->loadWhere(['person_id' => $person_id]); $data = $this->getDataOrTerminateWithError($result); $checkarray = []; foreach ($data as $item) { - //check if isStudent - $result = $this->StudentModel->isStudent($item->uid); - - $isStudent = $this->getDataOrTerminateWithError($result); - if($isStudent) + if(in_array($item->studiengang_kz, $allowedStgs)) { - $checkarray[] = $this->_checkAllowedStgsFromUid($item->uid, $allowedStgs); + return true; } - } - if (!in_array(1, $checkarray)) - return $this->terminateWithError($this->p->t('ui', 'error_keineBerechtigungStg'), self::ERROR_TYPE_GENERAL); - } - private function _checkAllowedStgsFromUid($student_uid, $allowedStgs) - { - $this->load->model('crm/Student_model', 'StudentModel'); - $result = $this->StudentModel->loadWhere(['student_uid' => $student_uid]); - - $data = $this->getDataOrTerminateWithError($result); - $studiengang_kz = current($data)->studiengang_kz; - - if (!in_array($studiengang_kz, $allowedStgs)) - { - return 0; - } - else - { - return 1; - } + $this->terminateWithError($this->p->t('ui', 'error_keineBerechtigungStg'), self::ERROR_TYPE_GENERAL); } } From d4b81da4379406748d90c2b68c0d6b98441ede3b Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Thu, 12 Mar 2026 14:34:42 +0100 Subject: [PATCH 3/6] fix filter component also consider tabulator 6 selectableRows option to determine if tabulator has selector --- public/js/components/filter/Filter.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/js/components/filter/Filter.js b/public/js/components/filter/Filter.js index 7bfc1aebb..052199092 100644 --- a/public/js/components/filter/Filter.js +++ b/public/js/components/filter/Filter.js @@ -280,7 +280,7 @@ export const CoreFilterCmpt = { }); } - if (tabulatorOptions.selectable || (tabulatorOptions.columns && tabulatorOptions.columns.filter(el => el.formatter == 'rowSelection').length)) + if (tabulatorOptions.selectable || tabulatorOptions.selectableRows || (tabulatorOptions.columns && tabulatorOptions.columns.filter(el => el.formatter == 'rowSelection').length)) this.tabulatorHasSelector = true; if (this.idField) { @@ -358,7 +358,7 @@ export const CoreFilterCmpt = { } }, _updateTabulator() { - this.tabulatorHasSelector = this.tabulatorOptions.selectable || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length; + this.tabulatorHasSelector = this.tabulatorOptions.selectable || tabulatorOptions.selectableRows || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length; this.tabulator.setColumns(this.filteredColumns); this.tabulator.setData(this.filteredData); this._setHeaderFilter() From 8c36fe585a670f55961e44bea740cc4b8c8e60e6 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Thu, 12 Mar 2026 15:09:46 +0100 Subject: [PATCH 4/6] filter component add missing this --- public/js/components/filter/Filter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/components/filter/Filter.js b/public/js/components/filter/Filter.js index 052199092..3f0edb672 100644 --- a/public/js/components/filter/Filter.js +++ b/public/js/components/filter/Filter.js @@ -358,7 +358,7 @@ export const CoreFilterCmpt = { } }, _updateTabulator() { - this.tabulatorHasSelector = this.tabulatorOptions.selectable || tabulatorOptions.selectableRows || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length; + this.tabulatorHasSelector = this.tabulatorOptions.selectable || this.tabulatorOptions.selectableRows || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length; this.tabulator.setColumns(this.filteredColumns); this.tabulator.setData(this.filteredData); this._setHeaderFilter() From 0764a597afd0128f23ce8303b17271c2fd34a3f6 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Thu, 12 Mar 2026 15:18:26 +0100 Subject: [PATCH 5/6] do not allow foto editing in contract management --- public/js/components/Vertraege/Vertragsverwaltung.js | 1 - 1 file changed, 1 deletion(-) diff --git a/public/js/components/Vertraege/Vertragsverwaltung.js b/public/js/components/Vertraege/Vertragsverwaltung.js index a3e52261a..afde796b2 100644 --- a/public/js/components/Vertraege/Vertragsverwaltung.js +++ b/public/js/components/Vertraege/Vertragsverwaltung.js @@ -71,7 +71,6 @@ export default { :mitarbeiter_uid="this.mitarbeiter_uid" typeHeader="mitarbeiter" :domain="config.domain" - fotoEditable @redirectToLeitung="handleSelection" > From df05af98d25b996f2f271ffdb1277ccb46451039 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 16 Mar 2026 09:01:33 +0100 Subject: [PATCH 6/6] FHB - Markierung von Outgoing ohne Endedatum --- include/lehrelisthelper.class.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/lehrelisthelper.class.php b/include/lehrelisthelper.class.php index b1821391f..f511b27cc 100644 --- a/include/lehrelisthelper.class.php +++ b/include/lehrelisthelper.class.php @@ -270,6 +270,8 @@ class LehreListHelper } else if ($row->bisio_id != '' && $row->status != 'Incoming' && ($row->von > $stsemdatumvon || $row->von == '')) { // if bis datum is not yet known but von is available already $zusatz .= '(o)(ab '.$datum->formatDatum($row->von, 'd.m.Y').')'; + } else if ($row->bisio_id != '' && $row->status != 'Incoming' && ($row->von <= $stsemdatumvon || $row->von == '') && ($row->bis == '' || $row->bis > date('Y-m-d'))){ + $zusatz .= '(o)(ab '.$datum->formatDatum($row->von, 'd.m.Y').')'; }