From 874716921b682f83e442f38489842f9c68086859 Mon Sep 17 00:00:00 2001 From: Paolo Date: Tue, 27 Nov 2018 17:02:34 +0100 Subject: [PATCH] - Removed static menu entries InfoCenter/index and InfoCenter/freigegeben from config/navigation.php - Added new constant FILTER_ID to controllers/system/infocenter/InfoCenter.php - Added new constant PREV_FILTER_ID to controllers/system/infocenter/InfoCenter.php - Changed InfoCenter controller methods _setNavigationMenuIndex, _setNavigationMenuShowDetails and _setNavigationMenuFreigegeben to generate links with possibly parameter prev_filter_id - Changed views system/infocenter/infocenterData.php and system/infocenter/infocenterFreigegebenData.php to generate links with possibly parameter prev_filter_id --- application/config/navigation.php | 18 ------ .../system/infocenter/InfoCenter.php | 57 +++++++++++++++++-- .../system/infocenter/infocenterData.php | 5 +- .../infocenter/infocenterFreigegebenData.php | 5 +- 4 files changed, 58 insertions(+), 27 deletions(-) diff --git a/application/config/navigation.php b/application/config/navigation.php index 76f779467..d7ec0c046 100644 --- a/application/config/navigation.php +++ b/application/config/navigation.php @@ -138,24 +138,6 @@ $config['navigation_menu']['Vilesci/index'] = array( ) ); -$config['navigation_menu']['system/infocenter/InfoCenter/index'] = array( - 'freigegeben' => array( - 'link' => site_url('system/infocenter/InfoCenter/freigegeben'), - 'description' => 'Freigegeben', - 'icon' => 'thumbs-up', - 'sort' => 1 - ) -); - -$config['navigation_menu']['system/infocenter/InfoCenter/freigegeben'] = array( - 'back' => array( - 'link' => site_url('system/infocenter/InfoCenter/index'), - 'description' => 'Home', - 'icon' => 'angle-left', - 'sort' => 1 - ) -); - $config['navigation_menu']['organisation/Reihungstest/index'] = array( 'reihungstestverwalung' => array( 'link' => base_url('vilesci/stammdaten/reihungstestverwaltung.php'), diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 670dabddd..85b5ea67b 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -20,6 +20,9 @@ class InfoCenter extends Auth_Controller const NAVIGATION_PAGE = 'navigation_page'; const ORIGIN_PAGE = 'origin_page'; + const FILTER_ID = 'filter_id'; + const PREV_FILTER_ID = 'prev_filter_id'; + private $_uid; // contains the UID of the logged user // Used to log with PersonLogLib @@ -772,8 +775,27 @@ class InfoCenter extends Auth_Controller $this->_fillCustomFilters($listCustomFilters, $filtersArray['personal']); } + $freigegebenLink = site_url('system/infocenter/InfoCenter/freigegeben'); + $currentFilterId = $this->input->get(self::FILTER_ID); + if (isset($currentFilterId)) + { + $freigegebenLink .= '?'.self::PREV_FILTER_ID.'='.$currentFilterId; + } + $this->navigationlib->setSessionMenu( array( + 'freigegeben' => $this->navigationlib->oneLevel( + 'Freigegeben', // description + $freigegebenLink, // link + null, // children + 'thumbs-up', // icon + null, // subscriptDescription + false, // expand + null, // subscriptLinkClass + null, // subscriptLinkValue + '', // target + 1 // sort + ), 'filters' => $this->navigationlib->oneLevel( 'Filter', // description '#', // link @@ -805,12 +827,18 @@ class InfoCenter extends Auth_Controller $link = site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE); } + $prevFilterId = $this->input->get(self::PREV_FILTER_ID); + if (isset($prevFilterId)) + { + $link .= '?'.self::FILTER_ID.'='.$prevFilterId; + } + $this->navigationlib->setSessionMenu( array( 'back' => $this->navigationlib->oneLevel( - 'Zurück', // description + 'Zurück', // description $link, // link - array(), // children + null, // children 'angle-left', // icon true, // expand null, // subscriptDescription @@ -878,8 +906,27 @@ class InfoCenter extends Auth_Controller $this->_fillCustomFilters($listCustomFilters, $filtersArray['children']['personal']); } + $homeLink = site_url('system/infocenter/InfoCenter/index'); + $prevFilterId = $this->input->get(self::PREV_FILTER_ID); + if (isset($prevFilterId)) + { + $homeLink .= '?'.self::FILTER_ID.'='.$prevFilterId; + } + $this->navigationlib->setSessionMenu( array( + 'freigegeben' => $this->navigationlib->oneLevel( + 'Home', // description + $homeLink, // link + null, // children + 'angle-left', // icon + null, // subscriptDescription + false, // expand + null, // subscriptLinkClass + null, // subscriptLinkValue + '', // target + 1 // sort + ), 'filters' => $this->navigationlib->oneLevel( 'Filter', // description '#', // link @@ -908,7 +955,7 @@ class InfoCenter extends Auth_Controller sprintf( '%s?%s=%s', site_url(self::INFOCENTER_URI), - 'filter_id', + self::FILTER_ID, $filterId ) // link ); @@ -927,7 +974,7 @@ class InfoCenter extends Auth_Controller sprintf( '%s?%s=%s', site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE), - 'filter_id', + self::FILTER_ID, $filterId ) // link ); @@ -947,7 +994,7 @@ class InfoCenter extends Auth_Controller sprintf( '%s?%s=%s', site_url(self::INFOCENTER_URI), - 'filter_id', + self::FILTER_ID, $filterId ), // link null, // children diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index 424bac3f9..9910c86ba 100755 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -230,11 +230,12 @@ /* NOTE: Dont use $this here for PHP Version compatibility */ $datasetRaw->{'Details'} = sprintf( - 'Details', + 'Details', site_url('system/infocenter/InfoCenter/showDetails'), $datasetRaw->{'PersonId'}, 'index', - (isset($_GET['fhc_controller_id'])?$_GET['fhc_controller_id']:'') + (isset($_GET['fhc_controller_id']) ? $_GET['fhc_controller_id'] : ''), + (isset($_GET['filter_id']) ? $_GET['filter_id'] : '') ); if ($datasetRaw->{'SendDate'} == null) diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php index 818eda1d5..c5af117c2 100644 --- a/application/views/system/infocenter/infocenterFreigegebenData.php +++ b/application/views/system/infocenter/infocenterFreigegebenData.php @@ -132,11 +132,12 @@ /* NOTE: Dont use $this here for PHP Version compatibility */ $datasetRaw->{'Details'} = sprintf( - 'Details', + 'Details', site_url('system/infocenter/InfoCenter/showDetails'), $datasetRaw->{'PersonId'}, 'freigegeben', - (isset($_GET['fhc_controller_id'])?$_GET['fhc_controller_id']:'') + (isset($_GET['fhc_controller_id']) ? $_GET['fhc_controller_id'] : ''), + (isset($_GET['filter_id']) ? $_GET['filter_id'] : '') ); if ($datasetRaw->{'SendDate'} == null)