diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php
index d5ddcc1e3..6e08c1b57 100644
--- a/application/controllers/system/infocenter/InfoCenter.php
+++ b/application/controllers/system/infocenter/InfoCenter.php
@@ -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' => '#',
diff --git a/application/models/system/Filters_model.php b/application/models/system/Filters_model.php
index 1395a7a40..7ce07de09 100644
--- a/application/models/system/Filters_model.php
+++ b/application/models/system/Filters_model.php
@@ -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);
+ }
}
diff --git a/application/views/widgets/filter/saveFilter.php b/application/views/widgets/filter/saveFilter.php
index e9e0217e6..8edb25ad1 100644
--- a/application/views/widgets/filter/saveFilter.php
+++ b/application/views/widgets/filter/saveFilter.php
@@ -1,5 +1,5 @@
- Filter short description:
+ Filter description:
diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php
index cb1b58581..97ac5b526 100644
--- a/application/widgets/FilterWidget.php
+++ b/application/widgets/FilterWidget.php
@@ -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
+ ));
}
}
}
diff --git a/application/widgets/NavigationMenuWidget.php b/application/widgets/NavigationMenuWidget.php
index 9d0121e4c..e551761bd 100644
--- a/application/widgets/NavigationMenuWidget.php
+++ b/application/widgets/NavigationMenuWidget.php
@@ -38,8 +38,26 @@ class NavigationMenuWidget extends Widget
public static function printNavItem($item, $depth = 1)
{
$expanded = isset($item['expand']) && $item['expand'] === true ? ' active' : '';
- echo '
- '.(isset($item['icon']) ? ' ' : '').$item['description'].(!empty($item['children']) ? '':'').'';
+
+ echo '';
+
+ echo '';
+
+ if (isset($item['icon']))
+ {
+ echo ' ';
+ }
+
+ // echo ''.$item['description'].''.'test';
+ echo $item['description'];
+
+ if (!empty($item['children']))
+ {
+ echo '';
+ }
+
+ echo '';
+
if (!empty($item['children']))
{
$level = '';
@@ -53,6 +71,7 @@ class NavigationMenuWidget extends Widget
self::printNavItem($child, ++$depth);
echo '';
}
+
echo '';
}
}