diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index d75ab4d9e..17e7dcc03 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -36,60 +36,4 @@ class InfoCenter extends VileSci_Controller ) ); } - - /** - * - */ - public function filter($filterId = null) - { - $filterWidgetArray = array( - 'query' => ' - SELECT p.person_id AS "PersonId", - p.nachname AS "Nachname", - p.vorname AS "Vorname", - k.kontakt AS "Email", - p.aktiv AS "Aktiv", - k.updateamum AS "UpdateDate" - FROM public.tbl_person p INNER JOIN public.tbl_kontakt k USING(person_id) - WHERE p.aktiv = TRUE - AND p.person_id = k.person_id - AND k.kontakttyp = \'email\' - AND p.person_id < 1000 - ', - 'hideHeader' => false, - 'hideSave' => false, - 'checkboxes' => array('PersonId'), - 'additionalColumns' => array('Delete', 'Edit'), - 'formatRaw' => function($fieldName, $fieldValue, $datasetRaw) { - - if ($fieldName == 'PersonId') - { - $datasetRaw->{$fieldName} = ''.$fieldValue.''; - } - elseif ($fieldName == 'Delete') - { - $datasetRaw->{$fieldName} = 'Delete'; - } - elseif ($fieldName == 'Edit') - { - $datasetRaw->{$fieldName} = 'Edit'; - } - - return $datasetRaw; - } - ); - - if ($filterId == null) - { - $filterWidgetArray['app'] = 'core'; - $filterWidgetArray['datasetName'] = 'kontakts'; - $filterWidgetArray['filterKurzbz'] = 'This filter filters'; - } - else - { - $filterWidgetArray['filterId'] = $filterId; - } - - echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray); - } } diff --git a/application/views/system/infocenter/infocenter.php b/application/views/system/infocenter/infocenter.php index 984005baa..f5969b7dd 100644 --- a/application/views/system/infocenter/infocenter.php +++ b/application/views/system/infocenter/infocenter.php @@ -1,14 +1,6 @@ -load->view('templates/FHC-Header', array('title' => 'Info Center', 'jquery3' => true)); ?> - - - - +load->view('templates/FHC-Header', array('title' => 'Info Center', 'jquery3' => true, 'tablesorter' => true)); +?> @@ -25,9 +17,9 @@ - + load->view('system/infocenter/infocenterData.php'); + ?> diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php new file mode 100644 index 000000000..0c7b6bdba --- /dev/null +++ b/application/views/system/infocenter/infocenterData.php @@ -0,0 +1,50 @@ + ' + SELECT p.person_id AS "PersonId", + p.nachname AS "Nachname", + p.vorname AS "Vorname", + k.kontakt AS "Email", + p.aktiv AS "Aktiv", + k.updateamum AS "UpdateDate" + FROM public.tbl_person p INNER JOIN public.tbl_kontakt k USING(person_id) + WHERE p.aktiv = TRUE + AND p.person_id = k.person_id + AND k.kontakttyp = \'email\' + AND p.person_id < 1000 + ', + 'hideHeader' => true, + 'hideSave' => true, + 'additionalColumns' => array('Details'), + 'formatRaw' => function($fieldName, $fieldValue, $datasetRaw) { + + $link = 'Details'; + + if ($fieldName == 'Details') + { + $datasetRaw->{$fieldName} = sprintf( + $link, + base_url('index.ci.php/system/infocenter/infocenterDetails/showDetails/'), + $datasetRaw->PersonId + ); + } + + return $datasetRaw; + } + ); + + $filterId = isset($_GET['filterId']) ? $_GET['filterId'] : null; + + if (isset($filterId) && is_numeric($filterId)) + { + $filterWidgetArray['filterId'] = $filterId; + } + else + { + $filterWidgetArray['app'] = 'core'; + $filterWidgetArray['datasetName'] = 'kontakts'; + $filterWidgetArray['filterKurzbz'] = 'This filter filters'; + } + + echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray); +?> diff --git a/application/views/system/infocenter/infocenterFilters.php b/application/views/system/infocenter/infocenterFilters.php index e5d124aad..f15b24fbb 100644 --- a/application/views/system/infocenter/infocenterFilters.php +++ b/application/views/system/infocenter/infocenterFilters.php @@ -3,9 +3,9 @@ { foreach ($listFilters as $name => $filterId) { - $toPrint = '
%s
'; + $toPrint = '
%s
'; - echo sprintf($toPrint, base_url('index.ci.php/system/infocenter/InfoCenter/filter'), $filterId, $name).PHP_EOL; + echo sprintf($toPrint, base_url('index.ci.php/system/infocenter/InfoCenter?filterId'), $filterId, $name).PHP_EOL; } } diff --git a/application/views/templates/FHC-Header.php b/application/views/templates/FHC-Header.php index bde117a48..4b4dcc511 100644 --- a/application/views/templates/FHC-Header.php +++ b/application/views/templates/FHC-Header.php @@ -9,6 +9,7 @@ $customJSs = isset($customJSs) ? $customJSs : null; // By default set the parameters to false $jquery3 = isset($jquery3) ? $jquery3 : false; +$tablesorter = isset($tablesorter) ? $tablesorter : false; /** * Print the given title of the page @@ -89,11 +90,16 @@ function _generateJSsInclude($JSs) // Eventually required CSS _generateCSSsInclude($customCSSs); // Eventually required CSS + // Table sorter CSS + if ($tablesorter === true) _generateCSSsInclude('skin/tablesort.css'); + // -------------------------------------------------------------------------------------------------------- // Javascripts // JQuery V3 if ($jquery3 === true) _generateJSsInclude('vendor/components/jquery/jquery.min.js'); + // Table sorter JS + if ($tablesorter === true) _generateJSsInclude('vendor/christianbach/tablesorter/jquery.tablesorter.min.js'); // Eventually required JS _generateJSsInclude($customJSs); diff --git a/application/views/widgets/filter/filter.php b/application/views/widgets/filter/filter.php index 1219e84f3..a5723f4aa 100644 --- a/application/views/widgets/filter/filter.php +++ b/application/views/widgets/filter/filter.php @@ -1,12 +1,16 @@ -load->view( - 'templates/header', - array('title' => 'Filters', 'tablesort' => true, 'tableid' => 'tableDataset', 'widgets' => 'zebra') - ); -?> - +
@@ -71,7 +75,4 @@
- -load->view('templates/footer'); -?> +
diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php index 3d297bf4f..988032c0a 100644 --- a/application/widgets/FilterWidget.php +++ b/application/widgets/FilterWidget.php @@ -593,7 +593,7 @@ class FilterWidget extends Widget $this->FiltersModel->resetQuery(); // - $this->FiltersModel->addJoin('public.tbl_benutzer', 'person_id'); + $this->FiltersModel->addJoin('public.tbl_benutzer', 'person_id', 'LEFT'); // $this->FiltersModel->addSelect('system.tbl_filters.*'); @@ -619,9 +619,7 @@ class FilterWidget extends Widget else { $whereParameters = array( - 'filter_id' => $this->filter_id, - 'uid' => getAuthUID(), - 'default_filter' => true + 'filter_id' => $this->filterId ); } @@ -635,7 +633,6 @@ class FilterWidget extends Widget if (isset($filter->retval[0]->filter) && trim($filter->retval[0]->filter) != '') { $jsonEncodedFilter = json_decode($filter->retval[0]->filter); - } } @@ -687,6 +684,18 @@ class FilterWidget extends Widget self::ACTIVE_FILTERS_OPTION => $activeFiltersOption ); + $this->session->set_userdata(self::SESSION_NAME, $filterSessionArray); + } + else + { + $filterSessionArray = array( + self::SELECTED_FIELDS => array(), + self::SELECTED_FILTERS => array(), + self::ACTIVE_FILTERS => array(), + self::ACTIVE_FILTERS_OPERATION => array(), + self::ACTIVE_FILTERS_OPTION => array() + ); + $this->session->set_userdata(self::SESSION_NAME, $filterSessionArray); } }