From 03f74c2299a411cca86f24db435905098b06be7f Mon Sep 17 00:00:00 2001 From: Paolo Date: Mon, 3 Dec 2018 13:33:57 +0100 Subject: [PATCH] - Added new page "Reihungstest absolviert" to InfoCenter - New const REIHUNGSTESTABSOLVIERT_PAGE in InfoCenter controller - New permission reihungstestAbsolviert => 'infocenter' in InfoCenter controller - Remove private method _setNavigationMenuFreigegeben from InfoCenter controller - Added new private method _setNavigationMenu to InfoCenter controller - Added new public method reihungstestAbsolviert to InfoCenter controller - Changed method setNavigationMenuArrayJson in InfoCenter controller to include new page "Reihungstest absolviert" - Changed method _setNavigationMenuIndex in InfoCenter controller to include new page "Reihungstest absolviert" - Added orgform to column StgAbgeschickt in infocenterFreigegebenData.php - Added new columns Statusgrund, ReihungstestAngetreten and ReihungstestApplied in infocenterFreigegebenData.php - Added new filters for reihungstestAbsolviert in system/filtersupdate.php - Changed freigegeben filters in system/filtersupdate.php --- .../system/infocenter/InfoCenter.php | 48 ++- .../system/infocenter/infocenterData.php | 2 +- .../infocenter/infocenterFreigegebenData.php | 76 ++++- .../infocenterReihungstestAbsolviert.php | 48 +++ .../infocenterReihungstestAbsolviertData.php | 297 ++++++++++++++++++ system/filtersupdate.php | 73 ++++- 6 files changed, 528 insertions(+), 16 deletions(-) create mode 100644 application/views/system/infocenter/infocenterReihungstestAbsolviert.php create mode 100644 application/views/system/infocenter/infocenterReihungstestAbsolviertData.php diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index fdc0db7d0..a7674a999 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -15,6 +15,7 @@ class InfoCenter extends Auth_Controller const INFOCENTER_URI = 'system/infocenter/InfoCenter'; // URL prefix for this controller const INDEX_PAGE = 'index'; const FREIGEGEBEN_PAGE = 'freigegeben'; + const REIHUNGSTESTABSOLVIERT_PAGE = 'reihungstestAbsolviert'; const SHOW_DETAILS_PAGE = 'showDetails'; const NAVIGATION_PAGE = 'navigation_page'; @@ -72,6 +73,7 @@ class InfoCenter extends Auth_Controller array( 'index' => 'infocenter:r', 'freigegeben' => 'infocenter:r', + 'reihungstestAbsolviert' => 'infocenter:r', 'showDetails' => 'infocenter:r', 'unlockPerson' => 'infocenter:rw', 'saveFormalGeprueft' => 'infocenter:rw', @@ -144,11 +146,21 @@ class InfoCenter extends Auth_Controller */ public function freigegeben() { - $this->_setNavigationMenuFreigegeben(); // define the navigation menu for this page + $this->_setNavigationMenu(self::FREIGEGEBEN_PAGE); // define the navigation menu for this page $this->load->view('system/infocenter/infocenterFreigegeben.php'); } + /** + * + */ + public function reihungstestAbsolviert() + { + $this->_setNavigationMenu(self::REIHUNGSTESTABSOLVIERT_PAGE); // define the navigation menu for this page + + $this->load->view('system/infocenter/infocenterReihungstestAbsolviert.php'); + } + /** * Personal details page of the InfoCenter tool * Initialization function, gets person and prestudent data and loads the view with the data @@ -661,9 +673,13 @@ class InfoCenter extends Auth_Controller { $this->_setNavigationMenuIndex(); } - else + elseif (strpos($navigation_page, self::FREIGEGEBEN_PAGE) !== false) { - $this->_setNavigationMenuFreigegeben(); + $this->_setNavigationMenu(self::FREIGEGEBEN_PAGE); + } + elseif (strpos($navigation_page, self::REIHUNGSTESTABSOLVIERT_PAGE) !== false) + { + $this->_setNavigationMenu(self::REIHUNGSTESTABSOLVIERT_PAGE); } $this->outputJsonSuccess('success'); @@ -775,11 +791,13 @@ class InfoCenter extends Auth_Controller $this->_fillCustomFilters($listCustomFilters, $filtersArray['personal']); } - $freigegebenLink = site_url('system/infocenter/InfoCenter/freigegeben'); + $freigegebenLink = site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE); + $reihungstestAbsolviertLink = site_url(self::INFOCENTER_URI.'/'.self::REIHUNGSTESTABSOLVIERT_PAGE); $currentFilterId = $this->input->get(self::FILTER_ID); if (isset($currentFilterId)) { $freigegebenLink .= '?'.self::PREV_FILTER_ID.'='.$currentFilterId; + $reihungstestAbsolviertLink .= '?'.self::PREV_FILTER_ID.'='.$currentFilterId; } $this->navigationlib->setSessionMenu( @@ -796,8 +814,20 @@ class InfoCenter extends Auth_Controller '', // target 1 // sort ), + 'reihungstestAbsolviert' => $this->navigationlib->oneLevel( + 'Reihungstest Absolviert', // description + $reihungstestAbsolviertLink, // link + null, // children + '', // icon + null, // subscriptDescription + false, // expand + null, // subscriptLinkClass + null, // subscriptLinkValue + '', // target + 2 // sort + ), 'filters' => $this->navigationlib->oneLevel( - 'Filter', // description + 'Filters', // description '#', // link $filtersArray, // children '', // icon @@ -854,10 +884,10 @@ class InfoCenter extends Auth_Controller /** * Define the navigation menu for the freigegeben page */ - private function _setNavigationMenuFreigegeben() + private function _setNavigationMenu($page) { // Loads NavigationLib - $this->load->library('NavigationLib', array(self::NAVIGATION_PAGE => self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE)); + $this->load->library('NavigationLib', array(self::NAVIGATION_PAGE => self::INFOCENTER_URI.'/'.$page)); // Generate the home link with the eventually loaded filter $homeLink = site_url(self::INFOCENTER_URI.'/'.self::INDEX_PAGE); @@ -868,9 +898,9 @@ class InfoCenter extends Auth_Controller } $this->navigationlib->setElementSessionMenu( - self::FREIGEGEBEN_PAGE, + $page, $this->navigationlib->oneLevel( - 'Home', // description + 'Home', // description $homeLink, // link null, // children 'angle-left', // icon diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index f2903aa22..48090bb7c 100755 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -206,7 +206,7 @@ $filterWidgetArray = array( 'query' => $query, - 'app' => 'infocenter', + 'app' => InfoCenter::APP, 'datasetName' => 'overview', 'filterKurzbz' => 'InfoCenterSentApplicationAll', 'filter_id' => $this->input->get('filter_id'), diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php index 6f3339660..6f41f79ca 100644 --- a/application/views/system/infocenter/infocenterFreigegebenData.php +++ b/application/views/system/infocenter/infocenterFreigegebenData.php @@ -71,7 +71,7 @@ LIMIT 1 ) AS "AnzahlAbgeschickt", ( - SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz)), \', \') + SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz || \':\' || sg.orgform_kurzbz)), \', \') FROM public.tbl_prestudentstatus pss JOIN public.tbl_prestudent ps USING(prestudent_id) JOIN public.tbl_studiengang sg USING(studiengang_kz) @@ -81,7 +81,52 @@ AND sg.typ IN ('.$STUDIENGANG_TYP.') AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) LIMIT 1 - ) AS "StgAbgeschickt" + ) AS "StgAbgeschickt", + ( + SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.bezeichnung_mehrsprachig[1])), \', \') + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + LEFT JOIN public.tbl_status_grund sg USING(statusgrund_id) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND ps.person_id = p.person_id + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + LIMIT 1 + ) AS "Statusgrund", + ( + SELECT CASE WHEN(rtp.teilgenommen IS NULL) THEN FALSE ELSE rtp.teilgenommen END + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + LEFT JOIN ( + SELECT rtp.person_id, + rt.studiensemester_kurzbz, + rtp.teilgenommen + FROM public.tbl_rt_person rtp + JOIN tbl_reihungstest rt ON(rtp.rt_id = rt.reihungstest_id) + WHERE rt.stufe = 1 + ) rtp ON(rtp.person_id = ps.person_id AND rtp.studiensemester_kurzbz = pss.studiensemester_kurzbz) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND ps.person_id = p.person_id + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "ReihungstestAngetreten", + ( + SELECT CASE WHEN(pss.prestudent_id IS NULL) THEN FALSE ELSE TRUE END + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + LEFT JOIN ( + SELECT rtp.person_id, + rt.studiensemester_kurzbz + FROM public.tbl_rt_person rtp + JOIN tbl_reihungstest rt ON(rtp.rt_id = rt.reihungstest_id) + WHERE rt.stufe = 1 + ) rtp ON(rtp.person_id = ps.person_id AND rtp.studiensemester_kurzbz = pss.studiensemester_kurzbz) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND ps.person_id = p.person_id + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "ReihungstestApplied" FROM public.tbl_person p LEFT JOIN ( SELECT tpl.person_id, @@ -111,7 +156,7 @@ $filterWidgetArray = array( 'query' => $query, - 'app' => 'infocenter', + 'app' => InfoCenter::APP, 'datasetName' => 'freigegeben', 'filterKurzbz' => 'InfoCenterFreigegeben5days', 'filter_id' => $this->input->get('filter_id'), @@ -131,7 +176,10 @@ 'StSem', 'GesendetAm', 'NumAbgeschickt', - 'Studiengänge' + 'Studiengänge', + 'Statusgrund', + 'Reihungstest angetreten', + 'Reihungstest angemeldet' ), 'formatRow' => function($datasetRaw) { @@ -165,7 +213,7 @@ if ($datasetRaw->{'User/Operator'} == '') { - $datasetRaw->{'User/Operator'} = 'NA'; + $datasetRaw->{'User/Operator'} = 'N/A'; } if ($datasetRaw->{'LockDate'} == null) @@ -188,6 +236,24 @@ $datasetRaw->{'Nation'} = '-'; } + if ($datasetRaw->{'ReihungstestAngetreten'} == 'true') + { + $datasetRaw->{'ReihungstestAngetreten'} = 'Yes'; + } + else + { + $datasetRaw->{'ReihungstestAngetreten'} = 'No'; + } + + if ($datasetRaw->{'ReihungstestApplied'} == 'true') + { + $datasetRaw->{'ReihungstestApplied'} = 'Yes'; + } + else + { + $datasetRaw->{'ReihungstestApplied'} = 'No'; + } + return $datasetRaw; }, 'markRow' => function($datasetRaw) { diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviert.php b/application/views/system/infocenter/infocenterReihungstestAbsolviert.php new file mode 100644 index 000000000..1a06f8e07 --- /dev/null +++ b/application/views/system/infocenter/infocenterReihungstestAbsolviert.php @@ -0,0 +1,48 @@ +load->view( + 'templates/FHC-Header', + array( + 'title' => 'Info Center', + 'jquery' => true, + 'jqueryui' => true, + 'bootstrap' => true, + 'fontawesome' => true, + 'sbadmintemplate' => true, + 'tablesorter' => true, + 'ajaxlib' => true, + 'filterwidget' => true, + 'navigationwidget' => true, + 'phrases' => array( + 'person' => array('vorname', 'nachname'), + 'global' => array('mailAnXversandt'), + 'ui' => array('bitteEintragWaehlen') + ), + 'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css', + 'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js') + ) + ); +?> + + +
+ + widgetlib->widget('NavigationWidget'); ?> + +
+
+
+
+ +
+
+
+ load->view('system/infocenter/infocenterReihungstestAbsolviertData.php'); ?> +
+
+
+
+ + +load->view('templates/FHC-Footer'); ?> diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php new file mode 100644 index 000000000..e38a16903 --- /dev/null +++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php @@ -0,0 +1,297 @@ +>\'name\' NOT IN ('.$LOGDATA_NAME.') + AND l.person_id = p.person_id + ORDER BY l.zeitpunkt DESC + LIMIT 1 + ) AS "LastAction", + ( + SELECT l.insertvon + FROM system.tbl_log l + WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.') + AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') + AND l.person_id = p.person_id + ORDER BY l.zeitpunkt DESC + LIMIT 1 + ) AS "User/Operator", + ( + SELECT pss.studiensemester_kurzbz + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + JOIN public.tbl_studiengang sg USING(studiengang_kz) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND ps.person_id = p.person_id + AND sg.typ IN ('.$STUDIENGANG_TYP.') + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "Studiensemester", + ( + SELECT pss.bewerbung_abgeschicktamum + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + JOIN public.tbl_studiengang sg USING(studiengang_kz) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND pss.bewerbung_abgeschicktamum IS NOT NULL + AND ps.person_id = p.person_id + AND sg.typ IN ('.$STUDIENGANG_TYP.') + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "SendDate", + ( + SELECT COUNT(*) + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + JOIN public.tbl_studiengang sg USING(studiengang_kz) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND pss.bewerbung_abgeschicktamum IS NOT NULL + AND ps.person_id = p.person_id + AND sg.typ IN ('.$STUDIENGANG_TYP.') + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + LIMIT 1 + ) AS "AnzahlAbgeschickt", + ( + SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz || \':\' || sg.orgform_kurzbz)), \', \') + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + JOIN public.tbl_studiengang sg USING(studiengang_kz) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND pss.bewerbung_abgeschicktamum IS NOT NULL + AND ps.person_id = p.person_id + AND sg.typ IN ('.$STUDIENGANG_TYP.') + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + LIMIT 1 + ) AS "StgAbgeschickt", + ( + SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.bezeichnung_mehrsprachig[1])), \', \') + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + LEFT JOIN public.tbl_status_grund sg USING(statusgrund_id) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND ps.person_id = p.person_id + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + LIMIT 1 + ) AS "Statusgrund", + ( + SELECT CASE WHEN(rtp.teilgenommen IS NULL) THEN FALSE ELSE rtp.teilgenommen END + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + LEFT JOIN ( + SELECT rtp.person_id, + rt.studiensemester_kurzbz, + rtp.teilgenommen + FROM public.tbl_rt_person rtp + JOIN tbl_reihungstest rt ON(rtp.rt_id = rt.reihungstest_id) + WHERE rt.stufe = 1 + ) rtp ON(rtp.person_id = ps.person_id AND rtp.studiensemester_kurzbz = pss.studiensemester_kurzbz) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND ps.person_id = p.person_id + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "ReihungstestAngetreten", + ( + SELECT CASE WHEN(pss.prestudent_id IS NULL) THEN FALSE ELSE TRUE END + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + LEFT JOIN ( + SELECT rtp.person_id, + rt.studiensemester_kurzbz + FROM public.tbl_rt_person rtp + JOIN tbl_reihungstest rt ON(rtp.rt_id = rt.reihungstest_id) + WHERE rt.stufe = 1 + ) rtp ON(rtp.person_id = ps.person_id AND rtp.studiensemester_kurzbz = pss.studiensemester_kurzbz) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND ps.person_id = p.person_id + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "ReihungstestApplied", + ( + SELECT rtp.datum + FROM public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + LEFT JOIN ( + SELECT rtp.person_id, + rt.studiensemester_kurzbz, + rt.datum + FROM public.tbl_rt_person rtp + JOIN tbl_reihungstest rt ON(rtp.rt_id = rt.reihungstest_id) + WHERE rt.stufe = 1 + ) rtp ON(rtp.person_id = ps.person_id AND rtp.studiensemester_kurzbz = pss.studiensemester_kurzbz) + WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND ps.person_id = p.person_id + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "ReihungstestDatum" + FROM public.tbl_person p + LEFT JOIN ( + SELECT tpl.person_id, + tpl.zeitpunkt, + tpl.uid AS lockuser + FROM system.tbl_person_lock tpl + WHERE tpl.app = '.$APP.' + ) pl USING(person_id) + WHERE + EXISTS ( + SELECT 1 + FROM public.tbl_prestudent ps + JOIN public.tbl_studiengang sg USING(studiengang_kz) + WHERE ps.person_id = p.person_id + AND sg.typ IN ('.$STUDIENGANG_TYP.') + AND EXISTS ( + SELECT 1 + FROM public.tbl_prestudentstatus pss + WHERE pss.prestudent_id = ps.prestudent_id + AND pss.status_kurzbz = '.$INTERESSENT_STATUS.' + AND pss.bestaetigtam IS NOT NULL + AND pss.bewerbung_abgeschicktamum IS NOT NULL + AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW()) + ) + ) + ORDER BY "LastAction" DESC'; + + $filterWidgetArray = array( + 'query' => $query, + 'app' => InfoCenter::APP, + 'datasetName' => 'reihungstestAbsolviert', + 'filterKurzbz' => 'InfoCenterReihungstestAbsolviert5days', + 'filter_id' => $this->input->get('filter_id'), + 'requiredPermissions' => 'infocenter', + 'checkboxes' => 'PersonId', + 'additionalColumns' => array('Details'), + 'columnsAliases' => array( + 'PersonID', + 'Vorname', + 'Nachname', + 'GebDatum', + 'Nation', + 'Sperrdatum', + 'GesperrtVon', + 'Letzte Aktion', + 'Letzter Bearbeiter', + 'StSem', + 'GesendetAm', + 'NumAbgeschickt', + 'Studiengänge', + 'Statusgrund', + 'Reihungstest angetreten', + 'Reihungstest angemeldet', + 'Reihungstest datum' + ), + 'formatRow' => function($datasetRaw) { + + /* NOTE: Dont use $this here for PHP Version compatibility */ + $datasetRaw->{'Details'} = sprintf( + 'Details', + site_url('system/infocenter/InfoCenter/showDetails'), + $datasetRaw->{'PersonId'}, + 'freigegeben', + (isset($_GET['fhc_controller_id']) ? $_GET['fhc_controller_id'] : ''), + (isset($_GET['filter_id']) ? $_GET['filter_id'] : '') + ); + + if ($datasetRaw->{'SendDate'} == null) + { + $datasetRaw->{'SendDate'} = 'Not sent'; + } + else + { + $datasetRaw->{'SendDate'} = date_format(date_create($datasetRaw->{'SendDate'}),'Y-m-d H:i'); + } + + if ($datasetRaw->{'LastAction'} == null) + { + $datasetRaw->{'LastAction'} = '-'; + } + else + { + $datasetRaw->{'LastAction'} = date_format(date_create($datasetRaw->{'LastAction'}),'Y-m-d H:i'); + } + + if ($datasetRaw->{'User/Operator'} == '') + { + $datasetRaw->{'User/Operator'} = 'N/A'; + } + + if ($datasetRaw->{'LockDate'} == null) + { + $datasetRaw->{'LockDate'} = '-'; + } + + if ($datasetRaw->{'LockUser'} == null) + { + $datasetRaw->{'LockUser'} = '-'; + } + + if ($datasetRaw->{'StgAbgeschickt'} == null) + { + $datasetRaw->{'StgAbgeschickt'} = 'N/A'; + } + + if ($datasetRaw->{'Nation'} == null) + { + $datasetRaw->{'Nation'} = '-'; + } + + if ($datasetRaw->{'ReihungstestAngetreten'} == 'true') + { + $datasetRaw->{'ReihungstestAngetreten'} = 'Yes'; + } + else + { + $datasetRaw->{'ReihungstestAngetreten'} = 'No'; + } + + if ($datasetRaw->{'ReihungstestApplied'} == 'true') + { + $datasetRaw->{'ReihungstestApplied'} = 'Yes'; + } + else + { + $datasetRaw->{'ReihungstestApplied'} = 'No'; + } + + if ($datasetRaw->{'ReihungstestDatum'} == null) + { + $datasetRaw->{'ReihungstestDatum'} = '-'; + } + else + { + $datasetRaw->{'ReihungstestDatum'} = date_format(date_create($datasetRaw->{'ReihungstestDatum'}),'Y-m-d H:i'); + } + + return $datasetRaw; + }, + 'markRow' => function($datasetRaw) { + + if ($datasetRaw->LockDate != null) + { + return FilterWidget::DEFAULT_MARK_ROW_CLASS; + } + } + ); + + echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray); +?> diff --git a/system/filtersupdate.php b/system/filtersupdate.php index f8a1ebcc7..612dbdf3e 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -272,6 +272,10 @@ $filters = array( "option": "days", "condition": "5", "operation": "lt" + }, + { + "name": "ReihungstestAngetreten", + "operation": "false" } ] } @@ -296,7 +300,12 @@ $filters = array( {"name": "User/Operator"}, {"name": "LockUser"} ], - "filters": [] + "filters": [ + { + "name": "ReihungstestAngetreten", + "operation": "false" + } + ] } ', 'oe_kurzbz' => null, @@ -344,6 +353,68 @@ $filters = array( } ', 'oe_kurzbz' => null, + ), + array( + 'app' => 'infocenter', + 'dataset_name' => 'reihungstestAbsolviert', + 'filter_kurzbz' => 'InfoCenterReihungstestAbsolviert5days', + 'description' => '{"Letzten 5 Tage"}', + 'sort' => 1, + 'default_filter' => true, + 'filter' => ' + { + "name": "Reihungstest absolviert - Letzten 5 Tage", + "columns": [ + {"name": "Vorname"}, + {"name": "Nachname"}, + {"name": "StgAbgeschickt"}, + {"name": "LastAction"}, + {"name": "User/Operator"}, + {"name": "LockUser"} + ], + "filters": [ + { + "name": "ReihungstestDatum", + "option": "days", + "condition": "5", + "operation": "lt" + }, + { + "name": "ReihungstestAngetreten", + "operation": "true" + } + ] + } + ', + 'oe_kurzbz' => null, + ), + array( + 'app' => 'infocenter', + 'dataset_name' => 'reihungstestAbsolviert', + 'filter_kurzbz' => 'InfoCenterReihungstestAbsolviertAlle', + 'description' => '{Alle}', + 'sort' => 2, + 'default_filter' => false, + 'filter' => ' + { + "name": "Reihungstest absolviert - Alle", + "columns": [ + {"name": "Vorname"}, + {"name": "Nachname"}, + {"name": "StgAbgeschickt"}, + {"name": "LastAction"}, + {"name": "User/Operator"}, + {"name": "LockUser"} + ], + "filters": [ + { + "name": "ReihungstestAngetreten", + "operation": "true" + } + ] + } + ', + 'oe_kurzbz' => null, ) );