From ea85cce9574cf1b9691a3e0a31109521d71a73e4 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 1 Sep 2025 09:37:30 +0200 Subject: [PATCH] own controller detailHeader, bugfix loadDepartmentdata --- .../frontend/v1/detailheader/Detailheader.php | 53 +++++++++++++++++++ .../api/frontend/v1/vertraege/Vertraege.php | 36 ------------- public/js/api/factory/detailHeader.js | 6 +-- .../components/DetailHeader/DetailHeader.js | 21 ++++++-- .../Vertraege/Vertragsverwaltung.js | 1 + system/filtersupdate.php | 27 ++++++++++ 6 files changed, 102 insertions(+), 42 deletions(-) create mode 100644 application/controllers/api/frontend/v1/detailheader/Detailheader.php diff --git a/application/controllers/api/frontend/v1/detailheader/Detailheader.php b/application/controllers/api/frontend/v1/detailheader/Detailheader.php new file mode 100644 index 000000000..ada10c5b6 --- /dev/null +++ b/application/controllers/api/frontend/v1/detailheader/Detailheader.php @@ -0,0 +1,53 @@ + ['vertrag/mitarbeiter:r'], + 'getPersonAbteilung' => ['vertrag/mitarbeiter:r'], + 'getLeitungOrg' => ['vertrag/mitarbeiter:r'], + ]); + } + + public function getHeader($person_id) + { + $this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel'); + + $result = $this->Mitarbeitermodel->getHeader($person_id); + + $data = $this->getDataOrTerminateWithError($result); + + $this->terminateWithSuccess(current($data)); + } + + public function getPersonAbteilung($mitarbeiter_uid) + { + $this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel'); + + $result = $this->Mitarbeitermodel->getPersonAbteilung($mitarbeiter_uid); + + $data = $this->getDataOrTerminateWithError($result); + + $this->terminateWithSuccess(current($data)); + } + + public function getLeitungOrg($oekurzbz) + { + $this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel'); + + $result = $this->Mitarbeitermodel->getLeitungOrg($oekurzbz); + + $data = $this->getDataOrTerminateWithError($result); + + $this->terminateWithSuccess(current($data)); + } + +} + + diff --git a/application/controllers/api/frontend/v1/vertraege/Vertraege.php b/application/controllers/api/frontend/v1/vertraege/Vertraege.php index bb14bc511..c426d5637 100644 --- a/application/controllers/api/frontend/v1/vertraege/Vertraege.php +++ b/application/controllers/api/frontend/v1/vertraege/Vertraege.php @@ -26,9 +26,6 @@ class Vertraege extends FHCAPI_Controller 'deleteLehrauftrag' =>['vertrag/mitarbeiter:w'], 'deleteBetreuung' =>['vertrag/mitarbeiter:w'], 'getMitarbeiter' => ['vertrag/mitarbeiter:r'], - 'getHeader' => ['vertrag/mitarbeiter:r'], - 'getPersonAbteilung' => ['vertrag/mitarbeiter:r'], - 'getLeitungOrg' => ['vertrag/mitarbeiter:r'], ]); //Load Models and Libraries @@ -684,37 +681,4 @@ class Vertraege extends FHCAPI_Controller } return $this->terminateWithSuccess(getData($result)); } - - public function getPersonAbteilung($mitarbeiter_uid) - { - $this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel'); - - $result = $this->Mitarbeitermodel->getPersonAbteilung($mitarbeiter_uid); - - $data = $this->getDataOrTerminateWithError($result); - - $this->terminateWithSuccess(current($data)); - } - - public function getLeitungOrg($oekurzbz) - { - $this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel'); - - $result = $this->Mitarbeitermodel->getLeitungOrg($oekurzbz); - - $data = $this->getDataOrTerminateWithError($result); - - $this->terminateWithSuccess(current($data)); - } - - public function getHeader($person_id) - { - $this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel'); - - $result = $this->Mitarbeitermodel->getHeader($person_id); - - $data = $this->getDataOrTerminateWithError($result); - - $this->terminateWithSuccess(current($data)); - } } diff --git a/public/js/api/factory/detailHeader.js b/public/js/api/factory/detailHeader.js index 74563bd4b..3c7d95bb1 100644 --- a/public/js/api/factory/detailHeader.js +++ b/public/js/api/factory/detailHeader.js @@ -19,19 +19,19 @@ export default { getHeader(person_id){ return { method: 'get', - url: 'api/frontend/v1/vertraege/vertraege/getHeader/' + person_id, + url: 'api/frontend/v1/detailheader/detailheader/getHeader/' + person_id, }; }, getPersonAbteilung(mitarbeiter_uid){ return { method: 'get', - url: 'api/frontend/v1/vertraege/vertraege/getPersonAbteilung/' + mitarbeiter_uid, + url: 'api/frontend/v1/detailheader/detailheader/getPersonAbteilung/' + mitarbeiter_uid, }; }, getLeitungOrg(oekurzbz){ return { method: 'get', - url: 'api/frontend/v1/vertraege/vertraege/getLeitungOrg/' + oekurzbz, + url: 'api/frontend/v1/detailheader/detailheader/getLeitungOrg/' + oekurzbz, }; }, } \ No newline at end of file diff --git a/public/js/components/DetailHeader/DetailHeader.js b/public/js/components/DetailHeader/DetailHeader.js index 8cf7abe22..0e035b8a3 100644 --- a/public/js/components/DetailHeader/DetailHeader.js +++ b/public/js/components/DetailHeader/DetailHeader.js @@ -17,6 +17,10 @@ export default { type: Number, required: false }, + mitarbeiter_uid: { + type: String, + required: false + }, typeHeader: { type: String, default: 'student', @@ -41,19 +45,30 @@ export default { created(){ if(this.person_id) { this.getHeader(this.person_id); - this.loadDepartmentData(this.mitarbeiter_uid) .then(() => { // Call getLeitungOrg only after departmentData is loaded this.getLeitungOrg(this.departmentData.oe_kurzbz); }) .catch((error) => { - console.error("Error loading department data:", error); + console.error("Error loading department data: ", error); }); } }, watch: { person_id: { + handler(newVal) { + if (newVal) { + this.getHeader(this.person_id); + this.loadDepartmentData(this.mitarbeiter_uid). + then(() => { + this.getLeitungOrg(this.departmentData.oe_kurzbz); + }); + } + }, + deep: true, + }, +/* person_id: { handler(newVal) { if (newVal) { this.getHeader(this.person_id); @@ -64,7 +79,7 @@ export default { } }, deep: true, - }, + },*/ }, data(){ return{ diff --git a/public/js/components/Vertraege/Vertragsverwaltung.js b/public/js/components/Vertraege/Vertragsverwaltung.js index a6d2b9e95..1bd97c55b 100644 --- a/public/js/components/Vertraege/Vertragsverwaltung.js +++ b/public/js/components/Vertraege/Vertragsverwaltung.js @@ -60,6 +60,7 @@ export default {
diff --git a/system/filtersupdate.php b/system/filtersupdate.php index 9e3c62a33..089065c24 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -1558,6 +1558,33 @@ $filters = array( }', 'oe_kurzbz' => null, ), + array( + 'app' => 'core', + 'dataset_name' => 'vertragsverwaltung', + 'filter_kurzbz' => 'Vertragsverwaltung', + 'description' => '{Vertragsverwaltung}', + 'sort' => 1, + 'default_filter' => true, + 'filter' => ' + { + "name": "Vertragsverwaltung", + "columns": [ + {"name": "UID"}, + {"name": "PersonId"}, + {"name": "Nachname"}, + {"name": "Vorname"}, + {"name": "aktiv"}, + {"name": "Geburtsdatum"}, + {"name": "Unternehmen"}, + {"name": "Firma"}, + {"name": "Vertragsarten"}, + {"name": "IDs Dienstverhältnis"}, + ], + "filters": [] + } + ', + 'oe_kurzbz' => null, + ), );