mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 08:34:29 +00:00
Merge branch 'feature-40311/Stundenplan_widget' into feature-25999/C4
This commit is contained in:
@@ -113,4 +113,47 @@ class Lehreinheit_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query, array($lehreinheit_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets emails of all Studierende in a lehrveranstaltung
|
||||
* @param int $lehreinheit_id
|
||||
* @return array
|
||||
*/
|
||||
public function getStudentenMail($lehreinheit_id)
|
||||
{
|
||||
|
||||
// logic used from cis_menu_lv.inc.php line 335
|
||||
return $this->execReadOnlyQuery("
|
||||
SELECT
|
||||
gruppe_kurzbz,
|
||||
CASE
|
||||
WHEN nomail = TRUE THEN 'nomail'
|
||||
WHEN gruppe_kurzbz !='' THEN LOWER(gruppe_kurzbz || '@' || ?)
|
||||
ELSE LOWER(stg_typ || stg_kurzbz || semester || TRIM(verband) || TRIM(gruppe) || '@' || ?)
|
||||
END AS mail
|
||||
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
distinct vw_lehreinheit.studiensemester_kurzbz, vw_lehreinheit.stg_kurzbz, vw_lehreinheit.stg_typ, vw_lehreinheit.semester,
|
||||
COALESCE(vw_lehreinheit.verband,'') as verband, COALESCE(vw_lehreinheit.gruppe,'') as gruppe, vw_lehreinheit.gruppe_kurzbz, tbl_gruppe.mailgrp,
|
||||
CASE
|
||||
WHEN mailgrp = TRUE OR mailgrp IS NULL THEN FALSE
|
||||
ELSE TRUE
|
||||
END as nomail
|
||||
FROM campus.vw_lehreinheit
|
||||
LEFT JOIN public.tbl_gruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
vw_lehreinheit.lehrveranstaltung_id=
|
||||
(select distinct lehrveranstaltung_id from campus.vw_lehreinheit where lehreinheit_id=?)
|
||||
AND
|
||||
vw_lehreinheit.studiensemester_kurzbz =
|
||||
(select distinct studiensemester_kurzbz from campus.vw_lehreinheit where lehreinheit_id=?)
|
||||
AND (vw_lehreinheit.gruppe_kurzbz IS NULL OR
|
||||
(vw_lehreinheit.gruppe_kurzbz IS NOT NULL AND (SELECT COUNT(*) FROM public.tbl_benutzergruppe where gruppe_kurzbz = vw_lehreinheit.gruppe_kurzbz AND studiensemester_kurzbz = vw_lehreinheit.studiensemester_kurzbz) > 0))
|
||||
|
||||
|
||||
) AS subquery
|
||||
",[DOMAIN,DOMAIN,$lehreinheit_id,$lehreinheit_id ]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,11 +19,12 @@ class Stundenplan_model extends DB_Model
|
||||
*/
|
||||
public function loadForUid($uid)
|
||||
{
|
||||
$this->addSelect('sp.*');
|
||||
$this->addSelect(['sp.*','le.studiensemester_kurzbz']);
|
||||
$this->db->join('public.tbl_benutzergruppe bg', 'sp.gruppe_kurzbz=bg.gruppe_kurzbz AND bg.uid=?', 'LEFT', false);
|
||||
$this->addJoin('public.tbl_studiensemester ss1', 'bg.studiensemester_kurzbz=ss1.studiensemester_kurzbz AND ss1.start<=sp.datum AND ss1.ende>=sp.datum', 'LEFT');
|
||||
$this->db->join('public.tbl_studentlehrverband slv', "sp.studiengang_kz=slv.studiengang_kz AND slv.student_uid=? AND (slv.semester=sp.semester OR sp.semester IS NULL) AND (slv.verband=sp.verband OR sp.verband IS NULL OR sp.verband='' OR sp.verband='0') AND (slv.gruppe=sp.gruppe OR sp.gruppe IS NULL OR sp.gruppe='' OR sp.gruppe='0') AND sp.gruppe_kurzbz IS NULL", 'LEFT', false);
|
||||
$this->addJoin('public.tbl_studiensemester ss2', 'slv.studiensemester_kurzbz=ss2.studiensemester_kurzbz AND ss2.start<=sp.datum AND ss2.ende>=sp.datum', 'LEFT');
|
||||
$this->db->join('lehre.tbl_lehreinheit le', 'le.lehreinheit_id=sp.lehreinheit_id', 'LEFT');
|
||||
$this->db->or_where('ss1.studiensemester_kurzbz IS NOT NULL', null, false);
|
||||
$this->db->or_where('ss2.studiensemester_kurzbz IS NOT NULL', null, false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user