mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 08:52:21 +00:00
- Added public/css/FilterWidget.css and public/css/NavigationWidget.css to define CSS for Filter and Navigation widgets
- Added public/js/FilterWidget.js and public/js/NavigationWidget.js to collect all the JS for Filter and Navigation widgets - Added filterwidget and navigationwidget paramaters to FHC-Header to include the new CSS and JS for Filter and Navigation widgets - Removed all CSS and JS from the views used from Filter and Navigation widgets - Added method _getFilterUniqueId to controller Filters to generate a unique id for a filter based on fhc_controller_id and the current page - Adapted the code in controller Filters to use _getFilterUniqueId - Added method _getFilterUniqueId to widget FilterWidget to generate a unique id for a filter based on fhc_controller_id and the current page - Adapted the code in widget FilterWidget to use _getFilterUniqueId - Removed fhc_controller_id from menu generation in InfoCenter controller - InfoCenter controller now gives as parameter fhc_controller_id to view infocenterDetails - InfoCenter controller now gives as parameter fhc_controller_id to various redirect - Views infocenter, infocenterData, infocenterDetails and infocenterFreigegeben: - including new JS and CSS to work with Navigation and Filter widgets - including AjaxLib (required by FilterWidget.js and NavigationWidget.js) - using fhc_controller_id in Details and unlockPerson links - fhc_controller_id in not anymore a parameter for FilterWidget, adapted the code where FilterWidget is called - AjaxLib: renamed method _getUrlParameter to getUrlParameter - Removed function getUrlParameter from public/js/infocenter/infocenterDetails.js, now uses the method from AjaxLib - Added fhc_controller_id where needed into public/js/infocenter/infocenterDetails.js - public/js/infocenter/infocenterPersonDataset.js now uses getUrlParameter from AjaxLib - Added paramater filter_page in infocenterPersonDataset.js when calling Filters/rowNumber
This commit is contained in:
@@ -37,7 +37,7 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
$session = $this->_readSession($this->_getFilterUniqueId());
|
||||
|
||||
$json->selectedFields = $session['selectedFields'];
|
||||
$json->columnsAliases = $session['columnsAliases'];
|
||||
@@ -55,7 +55,7 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
$session = $this->_readSession($this->_getFilterUniqueId());
|
||||
|
||||
$json->allSelectedFields = $session['allSelectedFields'];
|
||||
$json->allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -72,11 +72,12 @@ class Filters extends VileSci_Controller
|
||||
public function sortSelectedFields()
|
||||
{
|
||||
$selectedFieldsLst = $this->input->post('selectedFieldsLst');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$allSelectedFields = $session['allSelectedFields'];
|
||||
$allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -105,8 +106,8 @@ class Filters extends VileSci_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $json->selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $json->columnsAliases;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFields'] = $json->selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['columnsAliases'] = $json->columnsAliases;
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode($json));
|
||||
}
|
||||
@@ -118,7 +119,7 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
$session = $this->_readSession($this->_getFilterUniqueId());
|
||||
|
||||
$json->allSelectedFields = $session['allSelectedFields'];
|
||||
$json->allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -175,19 +176,19 @@ class Filters extends VileSci_Controller
|
||||
*/
|
||||
public function saveFilter()
|
||||
{
|
||||
$this->_saveFilter($this->input->post("customFilterDescription"), $this->input->post("fhc_controller_id"));
|
||||
$this->_saveFilter($this->input->post("customFilterDescription"), $this->_getFilterUniqueId());
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode('Tutto bene!!!'));
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode('Filter saved'));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _saveFilter($customFilterDescription, $fhc_controller_id)
|
||||
private function _saveFilter($customFilterDescription, $filterUniqueId)
|
||||
{
|
||||
$objToBeSaved = new stdClass();
|
||||
|
||||
$filterSessionArray = $this->_readSession($fhc_controller_id);
|
||||
$filterSessionArray = $this->_readSession($filterUniqueId);
|
||||
|
||||
$objToBeSaved->name = $customFilterDescription;
|
||||
|
||||
@@ -240,8 +241,8 @@ class Filters extends VileSci_Controller
|
||||
$personId = $resultBenutzer->retval[0]->person_id;
|
||||
|
||||
$result = $this->FiltersModel->loadWhere(array(
|
||||
'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'],
|
||||
'app' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['datasetName'],
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $personId
|
||||
));
|
||||
@@ -250,8 +251,8 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$this->FiltersModel->update(
|
||||
array(
|
||||
'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'],
|
||||
'app' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['datasetName'],
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $personId
|
||||
),
|
||||
@@ -263,8 +264,8 @@ class Filters extends VileSci_Controller
|
||||
else
|
||||
{
|
||||
$this->FiltersModel->insert(array(
|
||||
'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'],
|
||||
'app' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$filterUniqueId]['datasetName'],
|
||||
'filter_kurzbz' => uniqid($personId, true),
|
||||
'person_id' => $personId,
|
||||
'description' => $descPGArray,
|
||||
@@ -282,7 +283,6 @@ class Filters extends VileSci_Controller
|
||||
public function deleteCustomFilter()
|
||||
{
|
||||
$filter_id = $this->input->post('filter_id');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
if (is_numeric($filter_id))
|
||||
{
|
||||
@@ -298,9 +298,9 @@ class Filters extends VileSci_Controller
|
||||
public function removeSelectedFields()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$allSelectedFields = $session['allSelectedFields'];
|
||||
$allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -318,8 +318,8 @@ class Filters extends VileSci_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['columnsAliases'] = $columnsAliases;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -337,9 +337,9 @@ class Filters extends VileSci_Controller
|
||||
public function removeSelectedFilters()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$selectedFilters = $session['selectedFilters'];
|
||||
$selectedFiltersActiveFilters = $session['activeFilters'];
|
||||
@@ -354,10 +354,10 @@ class Filters extends VileSci_Controller
|
||||
array_splice($selectedFiltersActiveFiltersOption, $pos, 1);
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -375,9 +375,9 @@ class Filters extends VileSci_Controller
|
||||
public function addSelectedFields()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$allSelectedFields = $session['allSelectedFields'];
|
||||
$allColumnsAliases = $session['allColumnsAliases'];
|
||||
@@ -396,8 +396,8 @@ class Filters extends VileSci_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['columnsAliases'] = $columnsAliases;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -415,9 +415,9 @@ class Filters extends VileSci_Controller
|
||||
public function addSelectedFilters()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$selectedFilters = $session['selectedFilters'];
|
||||
$selectedFiltersActiveFilters = $session['activeFilters'];
|
||||
@@ -432,10 +432,10 @@ class Filters extends VileSci_Controller
|
||||
$selectedFiltersActiveFiltersOption[$fieldName] = "";
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -456,17 +456,17 @@ class Filters extends VileSci_Controller
|
||||
$filterOperations = $this->input->post('filterOperations');
|
||||
$filterOperationValues = $this->input->post('filterOperationValues');
|
||||
$filterOptions = $this->input->post('filterOptions');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
$filterUniqueId = $this->_getFilterUniqueId();
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
$session = $this->_readSession($filterUniqueId);
|
||||
|
||||
$activeFilters = array_combine($fieldNames, $filterOperationValues);
|
||||
$activeFiltersOperation = array_combine($fieldNames, $filterOperations);
|
||||
$activeFiltersOption = array_combine($fieldNames, $filterOptions);
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $activeFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $activeFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $activeFiltersOption;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFilters'] = $activeFilters;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOperation'] = $activeFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId]['activeFiltersOption'] = $activeFiltersOption;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -485,7 +485,7 @@ class Filters extends VileSci_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
$session = $this->_readSession($this->_getFilterUniqueId());
|
||||
|
||||
$dataset = $session['dataset'];
|
||||
|
||||
@@ -500,10 +500,10 @@ class Filters extends VileSci_Controller
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _readSession($fhc_controller_id)
|
||||
private function _readSession($filterUniqueId)
|
||||
{
|
||||
if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$fhc_controller_id]))
|
||||
return $_SESSION[self::SESSION_NAME][$fhc_controller_id];
|
||||
if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$filterUniqueId]))
|
||||
return $_SESSION[self::SESSION_NAME][$filterUniqueId];
|
||||
|
||||
return array();
|
||||
}
|
||||
@@ -511,7 +511,7 @@ class Filters extends VileSci_Controller
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _writeSession($data, $fhc_controller_id)
|
||||
private function _writeSession($data, $filterUniqueId)
|
||||
{
|
||||
if (!isset($_SESSION[self::SESSION_NAME])
|
||||
|| (isset($_SESSION[self::SESSION_NAME]) && !is_array($_SESSION[self::SESSION_NAME])))
|
||||
@@ -519,6 +519,25 @@ class Filters extends VileSci_Controller
|
||||
$_SESSION[self::SESSION_NAME] = array();
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id] = $data;
|
||||
$_SESSION[self::SESSION_NAME][$filterUniqueId] = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _getFilterUniqueId()
|
||||
{
|
||||
$_getFilterUniqueId = '';
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
||||
{
|
||||
$_getFilterUniqueId = $this->input->post('filter_page').'/'.$this->input->post('fhc_controller_id');
|
||||
}
|
||||
elseif ($_SERVER['REQUEST_METHOD'] === 'GET')
|
||||
{
|
||||
$_getFilterUniqueId = $this->input->get('filter_page').'/'.$this->input->get('fhc_controller_id');
|
||||
}
|
||||
|
||||
return $_getFilterUniqueId;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,14 +78,17 @@ class InfoCenter extends FHC_Controller
|
||||
$this->load->library('PersonLogLib');
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
$this->loadPhrases(array(
|
||||
'global',
|
||||
'person',
|
||||
'lehre',
|
||||
'ui',
|
||||
'infocenter',
|
||||
'filter'));
|
||||
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'person',
|
||||
'lehre',
|
||||
'ui',
|
||||
'infocenter',
|
||||
'filter'
|
||||
)
|
||||
);
|
||||
|
||||
$this->_setAuthUID(); // sets property uid
|
||||
|
||||
$this->load->library('PermissionLib');
|
||||
@@ -139,13 +142,14 @@ class InfoCenter extends FHC_Controller
|
||||
$persondata = $this->_loadPersonData($person_id);
|
||||
$prestudentdata = $this->_loadPrestudentData($person_id);
|
||||
|
||||
$this->load->view(
|
||||
'system/infocenter/infocenterDetails.php',
|
||||
array_merge(
|
||||
$persondata,
|
||||
$prestudentdata
|
||||
)
|
||||
$data = array_merge(
|
||||
$persondata,
|
||||
$prestudentdata
|
||||
);
|
||||
|
||||
$data['fhc_controller_id'] = $this->fhc_controller_id;
|
||||
|
||||
$this->load->view('system/infocenter/infocenterDetails.php', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +163,7 @@ class InfoCenter extends FHC_Controller
|
||||
if(isError($result))
|
||||
show_error($result->retval);
|
||||
|
||||
redirect(self::URL_PREFIX);
|
||||
redirect(self::URL_PREFIX.'?fhc_controller_id='.$this->fhc_controller_id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -715,10 +719,10 @@ class InfoCenter extends FHC_Controller
|
||||
{
|
||||
foreach ($filters as $filterId => $description)
|
||||
{
|
||||
$toPrint = "%s?%s=%s&%s=%s";
|
||||
$toPrint = "%s?%s=%s";
|
||||
|
||||
$tofill['children'][] = array(
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id),
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId),
|
||||
'description' => $description
|
||||
);
|
||||
}
|
||||
@@ -728,10 +732,10 @@ class InfoCenter extends FHC_Controller
|
||||
{
|
||||
foreach ($filters as $filterId => $description)
|
||||
{
|
||||
$toPrint = "%s?%s=%s&%s=%s";
|
||||
$toPrint = "%s?%s=%s";
|
||||
|
||||
$tofill['children'][] = array(
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id),
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId),
|
||||
'description' => $description,
|
||||
'subscriptDescription' => 'Remove',
|
||||
'subscriptLinkClass' => 'remove-filter',
|
||||
@@ -922,7 +926,7 @@ class InfoCenter extends FHC_Controller
|
||||
$this->PrestudentModel->addSelect('person_id');
|
||||
$person_id = $this->PrestudentModel->load($prestudent_id)->retval[0]->person_id;
|
||||
|
||||
redirect(self::URL_PREFIX.'/showDetails/'.$person_id.'#'.$section);
|
||||
redirect(self::URL_PREFIX.'/showDetails/'.$person_id.'?fhc_controller_id='.$this->fhc_controller_id.'#'.$section);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user