From 35528c54cd0a26fcf2575efb1955520f634b07ad Mon Sep 17 00:00:00 2001 From: ma0048 Date: Tue, 26 May 2026 13:37:05 +0200 Subject: [PATCH] abweisen aller studiengaenge auch mit bewerbung abgeschickt ja und nein ermoeglicht --- .../system/infocenter/InfoCenter.php | 4 ++-- application/models/crm/Prestudent_model.php | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index eaa207ff1..02e6ffbb9 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -2420,11 +2420,11 @@ class InfoCenter extends Auth_Controller if ($statusgrund === 'null' || $studiengang === 'null' || $abgeschickt === 'null' || empty($personen)) $this->terminateWithJsonError("Bitte füllen Sie alle Felder aus"); - if ($studiengang === 'all' && $abgeschickt === 'all') + if ($studiengang === 'all') { foreach($personen as $person) { - $prestudenten = $this->PrestudentModel->getByPersonWithoutLehrgang($person, $studienSemester); + $prestudenten = $this->PrestudentModel->getByPersonWithoutLehrgang($person, $studienSemester, $abgeschickt, $abgeschickt === 'all'); if (!hasData($prestudenten)) continue; diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index ad5c3e141..aada74765 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -693,7 +693,7 @@ class Prestudent_model extends DB_Model if (!$ignoreAbgeschickt) { - $query .= "AND"; + $query .= " AND"; if ($abgeschickt === 'true') $query .= " EXISTS"; @@ -709,7 +709,7 @@ class Prestudent_model extends DB_Model return $this->execQuery($query, array($person, $studiengang, $studienSemester)); } - public function getByPersonWithoutLehrgang($person, $studienSemester) + public function getByPersonWithoutLehrgang($person, $studienSemester, $abgeschickt, $ignoreAbgeschickt = false) { $query = "SELECT DISTINCT(ps.prestudent_id) FROM public.tbl_prestudentstatus pss @@ -721,6 +721,21 @@ class Prestudent_model extends DB_Model AND (sg.typ = 'b' OR sg.typ = 'm') AND pss.studiensemester_kurzbz = ?"; + if (!$ignoreAbgeschickt) + { + $query .= " AND"; + + if ($abgeschickt === 'true') + $query .= " EXISTS"; + else + $query .= " NOT EXISTS"; + + $query .= " (SELECT 1 FROM public.tbl_prestudentstatus spss + JOIN public.tbl_prestudent sps USING(prestudent_id) + WHERE sps.prestudent_id = ps.prestudent_id + AND spss.bewerbung_abgeschicktamum IS NOT NULL)"; + } + return $this->execQuery($query, array($person, $studienSemester)); }