diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php index 38285b6ae..5a99d6a38 100644 --- a/application/views/system/infocenter/infocenterFreigegebenData.php +++ b/application/views/system/infocenter/infocenterFreigegebenData.php @@ -277,7 +277,25 @@ $query = ' WHERE konto.person_id = p.person_id AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .' AND konto.buchungstyp_kurzbz = '. $KAUTION_DRITT_STAAT .' - ) AS "Kaution" + ) AS "Kaution", + ( + SELECT + array_to_json(bezeichnung_mehrsprachig::varchar[])->>0 as bezeichnung + FROM public.tbl_rueckstellung + JOIN public.tbl_rueckstellung_status USING(status_kurzbz) + WHERE tbl_rueckstellung.person_id = p.person_id + ORDER BY person_id, datum_bis DESC, rueckstellung_id DESC + LIMIT 1 + ) AS "Rueckstellgrund", + ( + SELECT + datum_bis + FROM public.tbl_rueckstellung + JOIN public.tbl_rueckstellung_status USING(status_kurzbz) + WHERE tbl_rueckstellung.person_id = p.person_id + ORDER BY person_id, datum_bis DESC, rueckstellung_id DESC + LIMIT 1 + ) AS "Rueckstelldatum" FROM public.tbl_person p LEFT JOIN ( SELECT tpl.person_id, @@ -351,7 +369,9 @@ $query = ' 'ZGV Nation MA', 'InfoCenter Mitarbeiter', 'Identitätsnachweis', - ucfirst($this->p->t('infocenter', 'kaution')) + ucfirst($this->p->t('infocenter', 'kaution')), + ucfirst($this->p->t('infocenter', 'rueckstellgrund')), + ucfirst($this->p->t('infocenter', 'rueckstelldatum')) ), 'formatRow' => function($datasetRaw) { @@ -480,14 +500,33 @@ $query = ' $datasetRaw->{'Kaution'} = 'Offen'; } + if ($datasetRaw->{'Rueckstellgrund'} === null) + { + $datasetRaw->{'Rueckstellgrund'} = '-'; + } + if ($datasetRaw->{'Rueckstelldatum'} === null) + { + $datasetRaw->{'Rueckstelldatum'} = '-'; + } + return $datasetRaw; }, 'markRow' => function($datasetRaw) { + $mark = ''; if ($datasetRaw->LockDate != null) { - return FilterWidget::DEFAULT_MARK_ROW_CLASS; + $mark = FilterWidget::DEFAULT_MARK_ROW_CLASS; } + + if ($datasetRaw->Rueckstellgrund != null && $datasetRaw->Rueckstellgrund !== 'Parken') + $mark = "onhold"; + + if ($datasetRaw->Rueckstellgrund === 'Parken') + $mark = "text-info"; + + return $mark; + } ); diff --git a/public/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js index 35da8f584..8ced5b279 100644 --- a/public/js/infocenter/infocenterDetails.js +++ b/public/js/infocenter/infocenterDetails.js @@ -11,6 +11,7 @@ const STGFREIGABE_MESSAGE_VORLAGE = "InfocenterSTGfreigegeben"; const STGFREIGABE_MESSAGE_VORLAGE_MASTER = "InfocenterSTGfreigegebenM"; const STGFREIGABE_MESSAGE_VORLAGE_MASTER_ENGLISCH = "InfocenterSTGfreigegebenMEng"; const STGFREIGABE_MESSAGE_VORLAGE_ANDERES_SEMESTER = "InfocenterSTGfreigegebenSemester"; +const STGFREIGABE_MESSAGE_ZUSATZ_RT = "TerminvereinbarungRT"; //Statusgründe for which no Studiengang Freigabe Message should be sent const FIT_PROGRAMM_STUDIENGAENGE = [10021, 10027]; @@ -512,7 +513,19 @@ var InfocenterDetails = { } else { - if (receiverPrestudent.studiengangtyp === 'm' && freigabedata.statuskurzbz === 'ergPruefung') + if (freigabedata.statuskurzbz === 'zusatzRT') + { + vorlage = STGFREIGABE_MESSAGE_ZUSATZ_RT; + + InfocenterDetails.sendFreigabeMessage(prestudent_id, vorlage, msgvars); + + var rueckstelldate = new Date(); + rueckstelldate.setDate(rueckstelldate.getDate() + 14); + rueckstelldate = $.datepicker.formatDate("dd.mm.yy", rueckstelldate) + + Rueckstellung.set(personid, rueckstelldate, 'reihungstest') + } + else if (receiverPrestudent.studiengangtyp === 'm' && freigabedata.statuskurzbz === 'ergPruefung') { msgvars = { 'studiengangbezeichnung': studiengangbezeichnung,