Retrive and display the list of available filters from DB

This commit is contained in:
Paolo
2017-12-20 12:22:34 +01:00
parent 0763b11649
commit 92999ae93e
2 changed files with 44 additions and 11 deletions
@@ -8,6 +8,10 @@ class InfoCenter extends VileSci_Controller
{ {
parent::__construct(); parent::__construct();
//
$this->load->model('system/Filters_model', 'FiltersModel');
//
$this->load->library('WidgetLib'); $this->load->library('WidgetLib');
} }
@@ -16,17 +20,20 @@ class InfoCenter extends VileSci_Controller
*/ */
public function index() public function index()
{ {
$listFiltersSent = array( $listFiltersSent = array();
'Sent 1' => 100, $listFiltersNotSent = array();
'Sent 2' => 200,
'Sent 3' => 300 $personActionsArray = array(
'app' => 'aufnahme',
'dataset_name' => 'PersonActions',
'person_id' => null,
'default_filter' => false,
'array_length(description, 1) >' => 0
); );
$listFiltersNotSent = array( $listFiltersSent = $this->_getFilterList($personActionsArray, '%InfoCenterSentApplication%');
'Not Sent 1' => 400,
'Not Sent 2' => 500, $listFiltersNotSent = $this->_getFilterList($personActionsArray, '%InfoCenterNotSentApplication%');
'Not Sent 3' => 600
);
$this->load->view( $this->load->view(
'system/infocenter/infocenter.php', 'system/infocenter/infocenter.php',
@@ -36,4 +43,30 @@ class InfoCenter extends VileSci_Controller
) )
); );
} }
/**
*
*/
private function _getFilterList($personActionsArray, $filter_kurzbz)
{
$listFilters = array();
$this->FiltersModel->resetQuery();
$this->FiltersModel->addSelect('filter_id, description');
$this->FiltersModel->addOrder('sort', 'ASC');
$personActionsArray['filter_kurzbz ILIKE'] = $filter_kurzbz;
$filters = $this->FiltersModel->loadWhere($personActionsArray);
if (hasData($filters))
{
for ($filtersCounter = 0; $filtersCounter < count($filters->retval); $filtersCounter++)
{
$filter = $filters->retval[$filtersCounter];
$listFilters[$filter->filter_id] = $filter->description[0];
}
}
return $listFilters;
}
} }
@@ -1,11 +1,11 @@
<?php <?php
function _printLists($listFilters) function _printLists($listFilters)
{ {
foreach ($listFilters as $name => $filterId) foreach ($listFilters as $filterId => $description)
{ {
$toPrint = '<div><a href="%s=%s">%s</a></div>'; $toPrint = '<div><a href="%s=%s">%s</a></div>';
echo sprintf($toPrint, base_url('index.ci.php/system/infocenter/InfoCenter?filterId'), $filterId, $name).PHP_EOL; echo sprintf($toPrint, base_url('index.ci.php/system/infocenter/InfoCenter?filterId'), $filterId, $description).PHP_EOL;
} }
} }