From 023fafde2c963953eb6a9f347141b49fd340f076 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 11 Nov 2024 10:37:51 +0100 Subject: [PATCH] update reload functions, adapt delete contract, add watcher in unassignedList --- .../api/frontend/v1/vertraege/Vertraege.php | 61 ++++++++++++++++++- .../Details/Prestudent/MultiStatus.js | 10 +-- .../js/components/Vertraege/List/Details.js | 11 ++-- public/js/components/Vertraege/List/Status.js | 2 +- .../components/Vertraege/List/Unassigned.js | 11 +++- public/js/components/Vertraege/Vertraege.js | 12 ++-- 6 files changed, 84 insertions(+), 23 deletions(-) diff --git a/application/controllers/api/frontend/v1/vertraege/Vertraege.php b/application/controllers/api/frontend/v1/vertraege/Vertraege.php index a6480740b..52224fba1 100644 --- a/application/controllers/api/frontend/v1/vertraege/Vertraege.php +++ b/application/controllers/api/frontend/v1/vertraege/Vertraege.php @@ -306,7 +306,66 @@ class Vertraege extends FHCAPI_Controller public function deleteContract($vertrag_id) { - //TODO(Manu) validations, + //TODO(Manu) validations + + //TODO(manu) use private function + $this->load->model('education/Lehreinheitmitarbeiter_model', 'LehreinheitmitarbeiterModel'); + + //check if attached Lehrauftrag + $resultLehrauftrag = $this->LehreinheitmitarbeiterModel->load([ + 'vertrag_id' => $vertrag_id + ]); + + if(hasData($resultLehrauftrag)) + { + $resultLehrauftrag = getData($resultLehrauftrag); + foreach($resultLehrauftrag as $lehrauftrag) + { + $result = $this->LehreinheitmitarbeiterModel->update( + [ + 'lehreinheit_id' => $lehrauftrag->lehreinheit_id, + 'mitarbeiter_uid' => $lehrauftrag->mitarbeiter_uid, + 'vertrag_id' => $vertrag_id + ], + [ + 'vertrag_id' => null + ]); + + $this->getDataOrTerminateWithError($result); + + } + } + + //if attached Betreuung + $this->load->model('education/Projektbetreuer_model', 'Projektbetreuermodel'); + + //if attached Betreuung + $resultBetreuung = $this->Projektbetreuermodel->load([ + 'vertrag_id' => $vertrag_id + ]); + + if(hasData($resultBetreuung)) + { + $resultBetreuung = getData($resultBetreuung); + foreach($resultBetreuung as $betreuung) + { + $result = $this->Projektbetreuermodel->update( + [ + 'person_id' => $betreuung->person_id, + 'projektarbeit_id' => $betreuung->projektarbeit_id, + 'betreuerart_kurzbz' => $betreuung->betreuerart_kurzbz, + 'vertrag_id' => $vertrag_id + ], + [ + 'vertrag_id' => null + ]); + + $this->getDataOrTerminateWithError($result); + + } + + } + $result = $this->VertragvertragsstatusModel->load([ 'vertrag_id' => $vertrag_id ]); diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js b/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js index 4cf826bb3..725dfa83a 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js @@ -318,10 +318,7 @@ export default{ @saved="reload" > - TEST1: Anzahl Students: - {{modelValue.length}} - - + - - TEST 2 - + >