From f4194c251a476db0e88bdeac851e2989b7b0b04b Mon Sep 17 00:00:00 2001 From: cgfhtw Date: Mon, 18 Dec 2023 14:27:32 +0100 Subject: [PATCH] loadActiveForStudiengaenge eigene Funktion --- .../controllers/components/Antrag/Leitung.php | 18 +++--------------- .../education/Studierendenantrag_model.php | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/application/controllers/components/Antrag/Leitung.php b/application/controllers/components/Antrag/Leitung.php index e46c0bc50..4c99fcca1 100644 --- a/application/controllers/components/Antrag/Leitung.php +++ b/application/controllers/components/Antrag/Leitung.php @@ -102,21 +102,9 @@ class Leitung extends FHC_Controller $antraege = []; if ($studiengaenge) { - if ($extra) { - $this->StudierendenantragModel->db->group_start(); - $this->StudierendenantragModel->db->where_not_in('s.studierendenantrag_statustyp_kurzbz', [ - Studierendenantragstatus_model::STATUS_CANCELLED, - Studierendenantragstatus_model::STATUS_APPROVED, - Studierendenantragstatus_model::STATUS_REJECTED, - Studierendenantragstatus_model::STATUS_OBJECTION_DENIED - ]); - $this->StudierendenantragModel->db->or_group_start(); - $this->StudierendenantragModel->db->where('s.studierendenantrag_statustyp_kurzbz', Studierendenantragstatus_model::STATUS_APPROVED); - $this->StudierendenantragModel->db->where('tbl_studierendenantrag.typ', Studierendenantrag_model::TYP_ABMELDUNG_STGL); - $this->StudierendenantragModel->db->group_end(); - $this->StudierendenantragModel->db->group_end(); - } - $result = $this->StudierendenantragModel->loadForStudiengaenge($studiengaenge, null, null, true); + $result = $extra + ? $this->StudierendenantragModel->loadActiveForStudiengaenge($studiengaenge) + : $this->StudierendenantragModel->loadForStudiengaenge($studiengaenge); if (isError($result)) { $this->output->set_status_header(500); return $this->outputJson('Internal Server Error'); diff --git a/application/models/education/Studierendenantrag_model.php b/application/models/education/Studierendenantrag_model.php index 60e53365c..da9d53aba 100644 --- a/application/models/education/Studierendenantrag_model.php +++ b/application/models/education/Studierendenantrag_model.php @@ -73,6 +73,23 @@ class Studierendenantrag_model extends DB_Model return $this->loadWhere($where); } + public function loadActiveForStudiengaenge($studiengaenge) { + $this->db->group_start(); + $this->db->where_not_in('s.studierendenantrag_statustyp_kurzbz', [ + Studierendenantragstatus_model::STATUS_CANCELLED, + Studierendenantragstatus_model::STATUS_APPROVED, + Studierendenantragstatus_model::STATUS_REJECTED, + Studierendenantragstatus_model::STATUS_OBJECTION_DENIED + ]); + $this->db->or_group_start(); + $this->db->where('s.studierendenantrag_statustyp_kurzbz', Studierendenantragstatus_model::STATUS_APPROVED); + $this->db->where('tbl_studierendenantrag.typ', Studierendenantrag_model::TYP_ABMELDUNG_STGL); + $this->db->group_end(); + $this->db->group_end(); + + return $this->loadForStudiengaenge($studiengaenge); + } + public function isInStudiengang($studierendenantrag_id, $studiengaenge) { $this->addJoin('public.tbl_prestudent', 'prestudent_id');