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)