- Better code in NavigationMenuWidget::printNavItem

- Custom filters are now loaded in InfoCenter
- filter_kurzbz is automatically generated
- Now is saved the filter description
- filter description is the same for every language
- Added method getCustomFiltersList to system/Filters_model.php
This commit is contained in:
Paolo
2018-02-07 13:36:54 +01:00
parent c64ef198b4
commit 7af890b44c
5 changed files with 87 additions and 26 deletions
@@ -408,6 +408,17 @@ class InfoCenter extends VileSci_Controller
}
}
$customFilters = $this->FiltersModel->getCustomFiltersList('infocenter', 'PersonActions', $this->uid);
if (hasData($customFilters))
{
for ($filtersCounter = 0; $filtersCounter < count($customFilters->retval); $filtersCounter++)
{
$filter = $customFilters->retval[$filtersCounter];
$listCustomFilters[$filter->filter_id] = $filter->description[0];
}
}
$filtersarray = array(
'abgeschickt' => array(
'link' => '#',
@@ -426,6 +437,18 @@ class InfoCenter extends VileSci_Controller
$this->_fillFilters($listFiltersSent, $filtersarray['abgeschickt']);
$this->_fillFilters($listFiltersNotSent, $filtersarray['nichtabgeschickt']);
if (isset($listCustomFilters) && is_array($listCustomFilters) && count($listCustomFilters) > 0)
{
$filtersarray['personal'] = array(
'link' => '#',
'description' => 'Personal filters',
'expand' => true,
'children' => array()
);
$this->_fillFilters($listCustomFilters, $filtersarray['personal']);
}
$this->navigationMenuArray = array(
'dashboard' => array(
'link' => '#',
@@ -31,4 +31,24 @@ class Filters_model extends DB_Model
return $this->FiltersModel->loadWhere($filterParametersArray);
}
/**
*
*/
public function getCustomFiltersList($app, $dataset_name, $uid)
{
$this->addSelect('filter_id, description');
$this->addJoin('public.tbl_benutzer', 'person_id');
$this->addOrder('sort', 'ASC');
$filterParametersArray = array(
'app' => $app,
'dataset_name' => $dataset_name,
'default_filter' => false,
'array_length(description, 1) >' => 0,
'uid' => $uid
);
return $this->FiltersModel->loadWhere($filterParametersArray);
}
}
@@ -1,5 +1,5 @@
<div>
Filter short description: <input type="text" id="customFilterKurzbz" name="customFilterKurzbz" value="">
Filter description: <input type="text" id="customFilterDescription" name="customFilterDescription" value="">
</div>
<div>
<input type="button" id="saveCustomFilterButton" value="Save filter">
+22 -23
View File
@@ -816,10 +816,17 @@ class FilterWidget extends Widget
}
}
$desc = $_POST['customFilterDescription'];
$descPGArray = '{"'.$desc.'", "'.$desc.'", "'.$desc.'", "'.$desc.'"}';
$resultBenutzer = $this->BenutzerModel->load(getAuthUID());
$personId = $resultBenutzer->retval[0]->person_id;
$result = $this->FiltersModel->loadWhere(array(
'app' => $this->app,
'dataset_name' => $this->datasetName,
'filter_kurzbz' => $_POST['customFilterKurzbz']
'description' => $descPGArray,
'person_id' => $personId
));
if (hasData($result))
@@ -828,35 +835,27 @@ class FilterWidget extends Widget
array(
'app' => $this->app,
'dataset_name' => $this->datasetName,
'filter_kurzbz' => $_POST['customFilterKurzbz']
'description' => $descPGArray,
'person_id' => $personId
),
array(
'description' => '{}',
'sort' => null,
'default_filter' => false,
'filter' => json_encode($objToBeSaved),
'oe_kurzbz' => null
'filter' => json_encode($objToBeSaved)
)
);
}
else
{
$result = $this->BenutzerModel->load(getAuthUID());
if (hasData($result))
{
$this->FiltersModel->insert(array(
'app' => $this->app,
'dataset_name' => $this->datasetName,
'filter_kurzbz' => $_POST['customFilterKurzbz'],
'person_id' => $result->retval[0]->person_id,
'description' => '{}',
'sort' => null,
'default_filter' => false,
'filter' => json_encode($objToBeSaved),
'oe_kurzbz' => null
));
}
$this->FiltersModel->insert(array(
'app' => $this->app,
'dataset_name' => $this->datasetName,
'filter_kurzbz' => uniqid($personId, true),
'person_id' => $personId,
'description' => $descPGArray,
'sort' => null,
'default_filter' => false,
'filter' => json_encode($objToBeSaved),
'oe_kurzbz' => null
));
}
}
}
+21 -2
View File
@@ -38,8 +38,26 @@ class NavigationMenuWidget extends Widget
public static function printNavItem($item, $depth = 1)
{
$expanded = isset($item['expand']) && $item['expand'] === true ? ' active' : '';
echo '<li class="'.$expanded.'">
<a href="'.$item['link'].'"'.$expanded.'>'.(isset($item['icon']) ? '<i class="fa fa-'.$item['icon'].' fa-fw"></i> ' : '').$item['description'].(!empty($item['children']) ? '<span class="fa arrow"></span>':'').'</a>';
echo '<li class="'.$expanded.'">';
echo '<a href="'.$item['link'].'"'.$expanded.'>';
if (isset($item['icon']))
{
echo '<i class="fa fa-'.$item['icon'].' fa-fw"></i> ';
}
// echo '<span>'.$item['description'].'</span>'.'<span style="">test</span>';
echo $item['description'];
if (!empty($item['children']))
{
echo '<span class="fa arrow"></span>';
}
echo '</a>';
if (!empty($item['children']))
{
$level = '';
@@ -53,6 +71,7 @@ class NavigationMenuWidget extends Widget
self::printNavItem($child, ++$depth);
echo '</ul>';
}
echo '</li>';
}
}