mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 08:34:29 +00:00
Merge branch 'refs/heads/master' into demo
# Conflicts: # application/models/education/Lehrveranstaltung_model.php # application/models/organisation/Studienplan_model.php # application/models/person/Notiz_model.php # application/models/ressource/Mitarbeiter_model.php # public/js/components/Stv/Studentenverwaltung.js # public/js/components/Stv/Studentenverwaltung/Verband.js # system/dbupdate_3.4.php # system/phrasesupdate.php
This commit is contained in:
@@ -153,34 +153,65 @@ class Notiz_model extends DB_Model
|
||||
*/
|
||||
public function getNotizWithDocEntries($id, $type, $withoutTags = true)
|
||||
{
|
||||
$this->addSelect("tbl_notiz.*,
|
||||
count(dms_id) as countDoc,
|
||||
z.notizzuordnung_id,
|
||||
(CASE
|
||||
WHEN tbl_notiz.updateamum >= tbl_notiz.insertamum THEN tbl_notiz.updateamum
|
||||
ELSE tbl_notiz.insertamum
|
||||
END) AS lastUpdate,
|
||||
regexp_replace(tbl_notiz.text, '<[^>]*>', '', 'g') as text_stripped,
|
||||
TO_CHAR(tbl_notiz.start::timestamp, 'DD.MM.YYYY') AS start_format,
|
||||
TO_CHAR(tbl_notiz.ende::timestamp, 'DD.MM.YYYY') AS ende_format,
|
||||
z.notiz_id,
|
||||
z.person_id as id,
|
||||
{$type} as type_id
|
||||
");
|
||||
$qry = "
|
||||
SELECT
|
||||
n.*,
|
||||
CASE
|
||||
WHEN person_verfasser.vorname IS NOT NULL AND person_verfasser.vorname != ''
|
||||
OR person_verfasser.nachname IS NOT NULL AND person_verfasser.nachname != ''
|
||||
THEN CONCAT(person_verfasser.vorname, ' ', person_verfasser.nachname)
|
||||
ELSE NULL
|
||||
END AS verfasser,
|
||||
CASE
|
||||
WHEN person_bearbeiter.vorname IS NOT NULL AND person_bearbeiter.vorname != ''
|
||||
OR person_bearbeiter.nachname IS NOT NULL AND person_bearbeiter.nachname != ''
|
||||
THEN CONCAT(person_bearbeiter.vorname, ' ', person_bearbeiter.nachname)
|
||||
ELSE NULL
|
||||
END AS bearbeiter,
|
||||
count(dms_id) as countDoc, z.notizzuordnung_id,
|
||||
(CASE
|
||||
WHEN n.updateamum >= n.insertamum THEN n.updateamum
|
||||
ELSE n.insertamum
|
||||
END) AS lastUpdate,
|
||||
regexp_replace(n.text, '<[^>]*>', '', 'g') as text_stripped,
|
||||
TO_CHAR(n.start::timestamp, 'DD.MM.YYYY') AS start_format,
|
||||
TO_CHAR(n.ende::timestamp, 'DD.MM.YYYY') AS ende_format,
|
||||
z.notiz_id, z.person_id as id, ? as type_id
|
||||
|
||||
FROM
|
||||
public.tbl_notiz n
|
||||
JOIN
|
||||
public.tbl_notizzuordnung z USING (notiz_id)
|
||||
LEFT JOIN
|
||||
public.tbl_notiz_dokument dok USING (notiz_id)
|
||||
LEFT JOIN
|
||||
campus.tbl_dms_version USING (dms_id)
|
||||
LEFT JOIN
|
||||
public.tbl_benutzer p_verfasser ON (p_verfasser.uid = n.verfasser_uid)
|
||||
LEFT JOIN
|
||||
public.tbl_person person_verfasser ON (person_verfasser.person_id = p_verfasser.person_id)
|
||||
LEFT JOIN
|
||||
public.tbl_benutzer p_bearbeiter ON (p_bearbeiter.uid = n.bearbeiter_uid)
|
||||
LEFT JOIN
|
||||
public.tbl_person person_bearbeiter ON (person_bearbeiter.person_id = p_bearbeiter.person_id)
|
||||
WHERE
|
||||
z.$type = ?";
|
||||
|
||||
$this->addJoin('public.tbl_notizzuordnung z', 'notiz_id');
|
||||
$this->addJoin('public.tbl_notiz_dokument dok', 'notiz_id', 'LEFT');
|
||||
$this->addJoin('campus.tbl_dms_version', 'dms_id', 'LEFT');
|
||||
|
||||
$this->db->where("z.{$type}", $id);
|
||||
if ($withoutTags)
|
||||
{
|
||||
$qry .= " AND n.typ IS NULL";
|
||||
}
|
||||
|
||||
if ($withoutTags)
|
||||
$this->db->where('tbl_notiz.typ IS NULL');
|
||||
$qry .= "GROUP BY
|
||||
notiz_id, z.notizzuordnung_id,
|
||||
person_verfasser.vorname, person_verfasser.nachname,
|
||||
person_bearbeiter.vorname, person_bearbeiter.nachname
|
||||
";
|
||||
|
||||
$this->addGroupBy('notiz_id');
|
||||
$this->addGroupBy('z.notizzuordnung_id');
|
||||
|
||||
return $this->load();
|
||||
return $this->execQuery($qry, array($type, $id));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user