From 22cd1e075aec383eeed324c9eb5c957b9b2555f5 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Tue, 14 Mar 2023 10:19:07 +0100 Subject: [PATCH] - rueckstellgruende umbenannt - sort in der tabelle hinzugefuegt - anzeige angepasst --- .../system/infocenter/Rueckstellung.php | 15 ++++++++++-- .../system/infocenter/infocenterData.php | 19 +++++++++++++-- public/js/infocenter/rueckstellung.js | 23 ++++++++++-------- ...49_infocenter_zurueckstellen_mit_grund.php | 22 +++++++++++------ system/filtersupdate.php | 3 ++- system/phrasesupdate.php | 24 +++++++++++++++++-- 6 files changed, 82 insertions(+), 24 deletions(-) diff --git a/application/controllers/system/infocenter/Rueckstellung.php b/application/controllers/system/infocenter/Rueckstellung.php index 4d5bdbb81..7872a1112 100644 --- a/application/controllers/system/infocenter/Rueckstellung.php +++ b/application/controllers/system/infocenter/Rueckstellung.php @@ -21,7 +21,7 @@ class Rueckstellung extends Auth_Controller $this->load->model('crm/Rueckstellung_model', 'RueckstellungModel'); $this->load->model('crm/RueckstellungStatus_model', 'RueckstellungStatusModel'); - + $this->load->model('person/Person_model', 'PersonModel'); $this->_setAuthUID(); // sets property uid $this->_ci =& get_instance(); // get code igniter instance @@ -36,7 +36,17 @@ class Rueckstellung extends Auth_Controller $this->terminateWithJsonError($this->_ci->p->t('ui', 'fehlerBeimLesen')); if (hasData($rueckstellung)) - $result = getData($rueckstellung)[0]; + { + $rueckstellung = getData($rueckstellung)[0]; + $fullName = getData($this->_ci->PersonModel->getFullName($rueckstellung->insertvon)); + + $result = array( + 'von' => $fullName, + 'bezeichnung' => $rueckstellung->bezeichnung, + 'bis' => $rueckstellung->datum_bis + ); + } + $this->outputJsonSuccess($result); } @@ -77,6 +87,7 @@ class Rueckstellung extends Auth_Controller public function getStatus($aktiv = true) { + $this->_ci->RueckstellungStatusModel->addOrder('sort'); $result = $this->_ci->RueckstellungStatusModel->loadWhere(array('aktiv' => $aktiv)); if (isError($result)) diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index de4d19bcb..74eec571d 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -305,7 +305,16 @@ AND person_id = p.person_id ORDER BY datum_bis DESC LIMIT 1 - ) AS "OnholdDate" + ) AS "OnholdDate", + ( + SELECT array_to_json(bezeichnung_mehrsprachig::varchar[])->>0 + FROM public.tbl_rueckstellung + JOIN public.tbl_rueckstellung_status USING (status_kurzbz) + WHERE datum_bis >= NOW() + AND person_id = p.person_id + ORDER BY datum_bis DESC + LIMIT 1 + ) AS "Rueckstellgrund" FROM public.tbl_person p LEFT JOIN ( SELECT tpl.person_id, @@ -381,7 +390,8 @@ 'ZGV Gruppe MA', 'InfoCenter Mitarbeiter', ucfirst($this->p->t('global', 'parkdatum')), - ucfirst($this->p->t('global', 'rueckstelldatum')) + ucfirst($this->p->t('infocenter', 'rueckstelldatum')), + ucfirst($this->p->t('infocenter', 'rueckstellgrund')), ), 'formatRow' => function($datasetRaw) { @@ -494,6 +504,11 @@ { $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja'; } + + if ($datasetRaw->{'Rueckstellgrund'} === null) + { + $datasetRaw->{'Rueckstellgrund'} = '-'; + } return $datasetRaw; }, diff --git a/public/js/infocenter/rueckstellung.js b/public/js/infocenter/rueckstellung.js index c9ba32034..a8bf9ca84 100644 --- a/public/js/infocenter/rueckstellung.js +++ b/public/js/infocenter/rueckstellung.js @@ -138,11 +138,12 @@ var Rueckstellung = { _refreshRueckstellung: function(rueckstellungobj) { var personid = $("#hiddenpersonid").val(); - var rueckstellungdate = $.datepicker.parseDate("yy-mm-dd", rueckstellungobj.datum_bis); + var rueckstellungdate = $.datepicker.parseDate("yy-mm-dd", rueckstellungobj.bis); var gerrueckstellungdate = $.datepicker.formatDate("dd.mm.yy", rueckstellungdate); var removetext = FHC_PhrasesLib.t('infocenter', 'statusZuruecksetzen'); - var rueckstellungdtext = FHC_PhrasesLib.t('global', 'status') + ": '" + rueckstellungobj.bezeichnung + "' " + FHC_PhrasesLib.t('global', 'bis') + ": " + gerrueckstellungdate; + var rueckstellungdtext = FHC_PhrasesLib.t('global', 'status') + ": '" + rueckstellungobj.bezeichnung + "' " + FHC_PhrasesLib.t('global', 'bis') + ": " + gerrueckstellungdate + + " " + FHC_PhrasesLib.t('ui', 'von') + ": " + rueckstellungobj.von; var currdate = new Date(); @@ -172,14 +173,16 @@ var Rueckstellung = { var personid = $("#hiddenpersonid").val(); $("#postponing").html( '
'+ - '' + '  ' + - ' '+ - ''+ - ''+ + '
' + + '' + '  ' + + ' '+ + ''+ + ''+ + '
' + '
'); Rueckstellung.getStatus(); diff --git a/system/dbupdate_3.4/27949_infocenter_zurueckstellen_mit_grund.php b/system/dbupdate_3.4/27949_infocenter_zurueckstellen_mit_grund.php index 93c890675..6bd0464db 100644 --- a/system/dbupdate_3.4/27949_infocenter_zurueckstellen_mit_grund.php +++ b/system/dbupdate_3.4/27949_infocenter_zurueckstellen_mit_grund.php @@ -10,13 +10,16 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_rueckstellung_status LIMI ( status_kurzbz character varying(32), bezeichnung_mehrsprachig character varying(256)[], + sort integer, aktiv boolean default true ); ALTER TABLE public.tbl_rueckstellung_status ADD CONSTRAINT pk_tbl_postpone_status_status_kurzbz PRIMARY KEY (status_kurzbz); - INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig) VALUES('parked', '{BewerberIn parken, Park applicant}'); - INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig) VALUES('onhold', '{BewerberIn zurückstellen, Put applicant on hold}'); - INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig) VALUES('onhold_zgv', '{BewerberIn zurückstellen (ZGV), Put applicant on hold (ZGV)}'); - INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig) VALUES('onhold_drittstaat', '{BewerberIn zurückstellen (Drittstaaten), Put applicant on hold (third countries)}'); + INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('parked', '{Parken, Park}', 1); + INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_bmi', '{Bundesministerium, Federal Ministry}', 2); + INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_zgv', '{ZGV Prüfung, ZGV examination}', 3); + INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_drittstaat', '{Drittstaat, Third country}', 4); + INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_remone', '{Reminder 1, Reminder 1}', 5); + INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_remtwo', '{Reminder 2, Reminder 2}', 6); GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_rueckstellung_status TO vilesci; GRANT SELECT ON public.tbl_rueckstellung_status TO web; "; @@ -65,10 +68,15 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_rueckstellung LIMIT 1;")) //Übernahme von "zurückgestellten" und "geparkten" Personen $qry = " INSERT INTO public.tbl_rueckstellung (person_id, status_kurzbz, datum_bis, insertvon) - SELECT person_id, lower(l.logdata->>'name'), zeitpunkt, insertvon + SELECT person_id, + CASE WHEN + (lower(l.logdata->>'name') = 'onhold') + THEN 'onhold_remone' + ELSE lower(l.logdata->>'name') + END, + zeitpunkt, insertvon FROM system.tbl_log l - WHERE (l.logdata->>'name' = 'Onhold' OR l.logdata->>'name' = 'Parked') - AND zeitpunkt >= NOW()"; + WHERE (l.logdata->>'name' = 'Onhold' OR l.logdata->>'name' = 'Parked') AND zeitpunkt >= NOW();"; if(!$db->db_query($qry)) echo 'public.tbl_rueckstellung: '.$db->db_last_error().'
'; diff --git a/system/filtersupdate.php b/system/filtersupdate.php index c9c14d2a1..525dbe715 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": "Rueckstellgrund"} ], "filters": [ { diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 91b224db0..354f91faf 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -3747,8 +3747,8 @@ $phrases = array( ) ), array( - 'app' => 'core', - 'category' => 'global', + 'app' => 'infocenter', + 'category' => 'infocenter', 'phrase' => 'rueckstelldatum', 'insertvon' => 'system', 'phrases' => array( @@ -3766,6 +3766,26 @@ $phrases = array( ) ) ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'rueckstellgrund', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Rückstellgrund', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'onHold reason', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'infocenter', 'category' => 'infocenter',