From eefffa8a0efb8011325afcadf169fd90cf277691 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 27 Apr 2023 09:08:26 +0200 Subject: [PATCH] - kaution spalte - fas abgeschickt am timestamp automatisch ausfuellen - zgvuberpruefung zeigt abgewiesene nicht an --- .../infocenter/infocenterAbgewiesenData.php | 40 +++++++++++++++---- .../infocenter/infocenterFreigegebenData.php | 26 +++++++++++- .../infocenterReihungstestAbsolviertData.php | 26 +++++++++++- .../infocenterZgvUeberpruefungData.php | 2 + content/student/studentoverlay.js.php | 18 +++++++-- system/filtersupdate.php | 8 ++-- system/phrasesupdate.php | 20 ++++++++++ 7 files changed, 122 insertions(+), 18 deletions(-) diff --git a/application/views/system/infocenter/infocenterAbgewiesenData.php b/application/views/system/infocenter/infocenterAbgewiesenData.php index 40582a668..d09f0f41e 100644 --- a/application/views/system/infocenter/infocenterAbgewiesenData.php +++ b/application/views/system/infocenter/infocenterAbgewiesenData.php @@ -7,10 +7,11 @@ $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\''; $LOGDATA_NAME = '\'Message sent\''; $LOGDATA_VON = '\'online\''; + $STUDIENGEBUEHR_ANZAHLUNG = '\'StudiengebuehrAnzahlung\''; $query = ' SELECT - p.person_id AS "PersonID", + p.person_id AS "PersonId", ps.prestudent_id AS "PreStudentID", p.vorname AS "Vorname", p.nachname AS "Nachname", @@ -37,7 +38,15 @@ $query = ' AND l.zeitpunkt >= pss.insertamum ORDER BY l.log_id DESC LIMIT 1 - ) AS "Nachricht" + ) AS "Nachricht", + ( + SELECT SUM(konto.betrag) + FROM public.tbl_konto konto + LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr) + WHERE konto.person_id = p.person_id + AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .' + AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .' + ) AS "Kaution" FROM public.tbl_prestudentstatus pss JOIN public.tbl_prestudent ps USING(prestudent_id) @@ -60,14 +69,16 @@ $query = ' 'filter_id' => $this->input->get('filter_id'), 'requiredPermissions' => 'infocenter', 'datasetRepresentation' => 'tablesorter', + 'checkboxes' => 'PersonId', 'columnsAliases' => array( - 'PersonID', + 'PersonId', 'PreStudentID', - 'Vorname', - 'Nachname', - 'Studiengang', - 'Abgewiesen am', - 'Nachricht' + ucfirst($this->p->t('person', 'vorname')) , + ucfirst($this->p->t('person', 'nachname')), + ucfirst($this->p->t('lehre', 'studiengang')), + ucfirst($this->p->t('infocenter', 'abgewiesenam')), + ucfirst($this->p->t('global', 'nachricht')), + ucfirst($this->p->t('infocenter', 'kaution')) ), 'formatRow' => function($datasetRaw) { @@ -80,6 +91,19 @@ $query = ' $datasetRaw->{'Nachricht'} = 'Ja'; } + if ($datasetRaw->{'Kaution'} === null) + { + $datasetRaw->{'Kaution'} = '-'; + } + else if ($datasetRaw->{'Kaution'} === '0.00') + { + $datasetRaw->{'Kaution'} = 'Bezahlt'; + } + else + { + $datasetRaw->{'Kaution'} = 'Offen'; + } + $datasetRaw->{'AbgewiesenAm'} = date_format(date_create($datasetRaw->{'AbgewiesenAm'}),'Y-m-d H:i'); return $datasetRaw; } diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php index 13e1d5549..32315c145 100644 --- a/application/views/system/infocenter/infocenterFreigegebenData.php +++ b/application/views/system/infocenter/infocenterFreigegebenData.php @@ -13,6 +13,7 @@ $ORG_NAME = '\'InfoCenter\''; $IDENTITY = '\'identity\''; $ONLINE = '\'online\''; + $STUDIENGEBUEHR_ANZAHLUNG = '\'StudiengebuehrAnzahlung\''; $query = ' SELECT @@ -264,7 +265,15 @@ $query = ' WHERE akte.person_id = p.person_id AND dokument_kurzbz = '. $IDENTITY .' LIMIT 1 - ) AS "AktenId" + ) AS "AktenId", + ( + SELECT SUM(konto.betrag) + FROM public.tbl_konto konto + LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr) + WHERE konto.person_id = p.person_id + AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .' + AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .' + ) AS "Kaution" FROM public.tbl_person p LEFT JOIN ( SELECT tpl.person_id, @@ -337,7 +346,8 @@ $query = ' 'ZGV Nation BA', 'ZGV Nation MA', 'InfoCenter Mitarbeiter', - 'Identitätsnachweis' + 'Identitätsnachweis', + ucfirst($this->p->t('infocenter', 'kaution')) ), 'formatRow' => function($datasetRaw) { @@ -453,6 +463,18 @@ $query = ' $datasetRaw->{'AktenId'} = '-'; } + if ($datasetRaw->{'Kaution'} === null) + { + $datasetRaw->{'Kaution'} = '-'; + } + else if ($datasetRaw->{'Kaution'} === '0.00') + { + $datasetRaw->{'Kaution'} = 'Bezahlt'; + } + else + { + $datasetRaw->{'Kaution'} = 'Offen'; + } return $datasetRaw; }, diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php index ea1fab83c..e6b6d2495 100644 --- a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php +++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php @@ -9,6 +9,7 @@ $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\''; $ORG_NAME = '\'InfoCenter\''; + $STUDIENGEBUEHR_ANZAHLUNG = '\'StudiengebuehrAnzahlung\''; $query = ' SELECT @@ -195,7 +196,14 @@ $query = ' LIMIT 1 ) LIMIT 1 - ) AS "InfoCenterMitarbeiter" + ) AS "InfoCenterMitarbeiter", + ( + SELECT SUM(konto.betrag) + FROM public.tbl_konto konto + WHERE konto.person_id = p.person_id + AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .' + AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .' + ) AS "Kaution" FROM public.tbl_person p LEFT JOIN ( SELECT tpl.person_id, @@ -256,7 +264,8 @@ $query = ' 'Reihungstest Datum', 'ZGV Nation BA', 'ZGV Nation MA', - 'InfoCenter Mitarbeiter' + 'InfoCenter Mitarbeiter', + ucfirst($this->p->t('infocenter', 'kaution')) ), 'formatRow' => function($datasetRaw) { @@ -359,6 +368,19 @@ $query = ' $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja'; } + if ($datasetRaw->{'Kaution'} === null) + { + $datasetRaw->{'Kaution'} = '-'; + } + else if ($datasetRaw->{'Kaution'} === '0.00') + { + $datasetRaw->{'Kaution'} = 'Bezahlt'; + } + else + { + $datasetRaw->{'Kaution'} = 'Offen'; + } + return $datasetRaw; }, 'markRow' => function($datasetRaw) { diff --git a/application/views/system/infocenter/infocenterZgvUeberpruefungData.php b/application/views/system/infocenter/infocenterZgvUeberpruefungData.php index 5bfa5b078..d088d6b51 100644 --- a/application/views/system/infocenter/infocenterZgvUeberpruefungData.php +++ b/application/views/system/infocenter/infocenterZgvUeberpruefungData.php @@ -5,6 +5,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\''; $oeKurz = '\''. implode('\',\'', $oeKurz) . '\''; +$ABGEWIESENER_STATUS = '\'Abgewiesener\''; $query = ' SELECT @@ -22,6 +23,7 @@ $query = ' AND zgvstatus.datum IN ( SELECT MAX(zgvstatus.datum) FROM public.tbl_zgvpruefungstatus_status zgvstatus GROUP BY zgvstatus.zgvpruefung_id) + AND get_rolle_prestudent(prestudent_id, NULL) != '. $ABGEWIESENER_STATUS .' ORDER BY ps.prestudent_id '; diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index 6357b4b52..731469957 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -2191,14 +2191,26 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_ // Convert bewerbung_abgeschicktamum to ISO-Date if(bewerbung_abgeschicktamum != '') { - if(bewerbung_abgeschicktamum.length != 19) + if(bewerbung_abgeschicktamum.length < 10) { - bewerbung_abgeschicktamum = ''; + alert('Abgeschicktdatum ist ungueltig'); + return false; } else { datepart = bewerbung_abgeschicktamum.substring(0, 10); timepart = bewerbung_abgeschicktamum.substring(11); + + timepart_arr = timepart.split(':'); + + for (i = 0; i <= 2; i++) + { + if (typeof timepart_arr[i] === 'undefined' || timepart_arr[i].length !== 2) + { + timepart_arr[i] = '00'; + } + } + arr = datepart.split('.'); if(arr[0].length==1) @@ -2207,7 +2219,7 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_ if(arr[1].length==1) arr[1]='0'+arr[1]; - bewerbung_abgeschicktamum = arr[2]+'-'+arr[1]+'-'+arr[0]+' '+timepart; + bewerbung_abgeschicktamum = arr[2]+'-'+arr[1]+'-'+arr[0]+' '+timepart_arr.join(":"); } } diff --git a/system/filtersupdate.php b/system/filtersupdate.php index a3bb99a43..bb96ccb3d 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -40,7 +40,8 @@ $filters = array( {"name": "User/Operator"}, {"name": "InfoCenterMitarbeiter"}, {"name": "LockUser"}, - {"name": "OnholdDate"} + {"name": "OnholdDate"}, + {"name": "Kaution"} ], "filters": [ { @@ -511,13 +512,14 @@ $filters = array( { "name": "Abgewiesen - Alle", "columns": [ - {"name": "PersonID"}, + {"name": "PersonId"}, {"name": "PreStudentID"}, {"name": "Vorname"}, {"name": "Nachname"}, {"name": "Studiengang"}, {"name": "AbgewiesenAm"}, - {"name": "Nachricht"} + {"name": "Nachricht"}, + {"name": "Kaution"} ], "filters": [] } diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index df598dc8f..07aaa6f95 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -17383,6 +17383,26 @@ array( ) ) ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'abgewiesenam', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Abgewiesen am', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Rejected on', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), );