From d2055f759e71fb8bf144b612697c762516411ca5 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 21 Feb 2022 16:52:13 +0100 Subject: [PATCH] Added method getAssistance in Studiengang Model --- .../models/organisation/Studiengang_model.php | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/application/models/organisation/Studiengang_model.php b/application/models/organisation/Studiengang_model.php index d928f4e61..a27d07f8b 100644 --- a/application/models/organisation/Studiengang_model.php +++ b/application/models/organisation/Studiengang_model.php @@ -487,6 +487,45 @@ class Studiengang_model extends DB_Model return $this->loadWhere($condition); } + /** + * Get Assistance/s of Studiengang/Studiengaenge. + * + * @param null $studiengang_kz String or Array + * @return array + */ + public function getAssistance($studiengang_kz = null) + { + $this->addSelect('uid, studiengang_kz, oe_kurzbz, vorname, nachname, email'); + $this->addJoin('public.tbl_benutzerfunktion', 'oe_kurzbz'); + $this->addJoin('public.tbl_benutzer', 'uid'); + $this->addJoin('public.tbl_person', 'person_id'); + + if (is_null($studiengang_kz)) + { + $condition = ' + funktion_kurzbz = \'Leitung\' + AND ( datum_von <= NOW() OR datum_von IS NULL ) + AND ( datum_bis >= NOW() OR datum_bis IS NULL ) + '; + } + elseif (is_numeric($studiengang_kz) || is_array($studiengang_kz)) + { + if (is_array($studiengang_kz)) + { + $studiengang_kz = implode(', ', $studiengang_kz); + } + + $condition = ' + funktion_kurzbz = \'ass\' + AND ( datum_von <= NOW() OR datum_von IS NULL ) + AND ( datum_bis >= NOW() OR datum_bis IS NULL ) + AND studiengang_kz IN (' . $this->db->escape($studiengang_kz). ')' + ; + } + + return $this->loadWhere($condition); + } + public function getStudiengaengeWithOrgForm($typ, $semester) { $query = "SELECT DISTINCT (UPPER(sg.typ || sg.kurzbz || ':' || sp.orgform_kurzbz)) AS Studiengang