diff --git a/.gitignore b/.gitignore index de95987a8..8ebe61e25 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,8 @@ documents/ .project .buildpath application/config/development/ +application/config/testing/ +application/config/production application/extensions/ application/controllers/extensions/ application/config/extensions/ @@ -30,3 +32,4 @@ tests/codeception/tests/acceptance.suite.yml tests/codeception/tests/unit.suite.yml /sparks/* /webdav/google.php +system/sql/ diff --git a/application/config/fhcomplete.php b/application/config/fhcomplete.php index fa9c79295..0f7f1e94a 100644 --- a/application/config/fhcomplete.php +++ b/application/config/fhcomplete.php @@ -2,7 +2,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); -$config['fhc_version'] = '3.2'; +$config['fhc_version'] = '3.3'; $config['addons_aufnahme_url'] = array(); $config['addons_aufnahme_url']['OE_ROOT'] = 'https://SERVER-NAME/addons/aufnahme/OE_ROOT/cis/index.php'; diff --git a/application/config/navigation.php b/application/config/navigation.php index 6ef2fb803..64397f681 100644 --- a/application/config/navigation.php +++ b/application/config/navigation.php @@ -5,11 +5,6 @@ $config['navigation_header'] = array( 'FH-Complete' => site_url(''), 'Vilesci' => base_url('/vilesci'), 'CIS' => CIS_ROOT - ), - 'system/infocenter/InfoCenter/infocenterFreigegeben' => array( - 'FH-Complete' => base_url('index.ci.php/'), - 'Vilesci' => base_url('/vilesci'), - 'CIS' => CIS_ROOT ) ); @@ -63,13 +58,13 @@ $config['navigation_menu']['Vilesci/index'] = array( ) ); -//HIDDEN as long as filter is revised -//$config['navigation_menu']['system/infocenter/InfoCenter/index'] = array( -// 'Freigegeben' => array( -// 'link' => base_url('index.ci.php/system/infocenter/InfoCenter/infocenterFreigegeben'), -// 'description' => 'Freigegeben', -// 'icon' => 'thumbs-up' -// )); + +$config['navigation_menu']['system/infocenter/InfoCenter/index'] = array( + 'Freigegeben' => array( + 'link' => base_url('index.ci.php/system/infocenter/InfoCenter/infocenterFreigegeben'), + 'description' => 'Freigegeben', + 'icon' => 'thumbs-up' + )); $config['navigation_menu']['system/infocenter/InfoCenter/showDetails'] = array( 'Freigegeben' => array( @@ -84,5 +79,3 @@ $config['navigation_menu']['system/infocenter/InfoCenter/infocenterFreigegeben'] 'description' => 'Zurück', 'icon' => 'angle-left' )); - - diff --git a/application/config/roles.php b/application/config/roles.php index a95a94215..75a928db0 100644 --- a/application/config/roles.php +++ b/application/config/roles.php @@ -56,7 +56,7 @@ $config['roles'] = array 'basis/adresse','basis/akte','basis/kontakt','basis/log','basis/nation','basis/notiz','basis/notizzuordnung', 'basis/person','basis/prestudent','basis/prestudentstatus','basis/status','basis/zgv','basis/zgvmaster', 'lehre/studienplan','system/filters','fs/dms','basis/message','basis/benutzerrolle', 'basis/sprache', - 'system/personlock','basis/benutzerfunktion','system/vorlagestudiengang' + 'system/personlock','basis/benutzerfunktion','system/vorlagestudiengang', 'basis/bewerbungstermine' ) ) ); diff --git a/application/controllers/DBTools.php b/application/controllers/DBTools.php index ef532532f..6f54fdc13 100644 --- a/application/controllers/DBTools.php +++ b/application/controllers/DBTools.php @@ -392,7 +392,6 @@ class DBTools extends FHC_Controller // **** Permission **** // ToDo: Check Persmissions in the bottom of this file case 'permissions': - //var_dump($this->config->item('fhc_acl')); echo ' Permissions!'; //$this->config->load('roles'); foreach ($this->config->item('fhc_acl') as $b) diff --git a/application/controllers/jobs/Prestudentstatus.php b/application/controllers/jobs/Prestudentstatus.php index a1e1901cb..7327b3637 100644 --- a/application/controllers/jobs/Prestudentstatus.php +++ b/application/controllers/jobs/Prestudentstatus.php @@ -62,7 +62,8 @@ class Prestudentstatus extends FHC_Controller tbl_prestudentstatus.status_kurzbz, tbl_prestudent.studiengang_kz, tbl_prestudentstatus.studienplan_id, - tbl_studienplan.orgform_kurzbz'); + tbl_studienplan.orgform_kurzbz, + tbl_prestudent.person_id'); $this->PrestudentstatusModel->addJoin('public.tbl_prestudent', 'prestudent_id'); $this->PrestudentstatusModel->addJoin('lehre.tbl_studienplan', 'studienplan_id','LEFT'); $this->PrestudentstatusModel->addJoin('lehre.tbl_studienordnung', 'studienordnung_id','LEFT'); @@ -106,6 +107,14 @@ class Prestudentstatus extends FHC_Controller $this->PrestudentstatusModel->update($pk_arr, array('studienplan_id' => $studienplan->retval[0]->studienplan_id)); $sum_corrected++; + + if($row_status->status_kurzbz == 'Interessent') + { + $this->correctReihungstest( + $row_status->person_id, + $row_status->studienplan_id, + $studienplan->retval[0]->studienplan_id); + } } } else @@ -125,4 +134,58 @@ class Prestudentstatus extends FHC_Controller echo "Not Corrected:".$sum_notcorrected."\n"; echo "Overall incorrect:".$sum_overall."\n"; } + + /** + * Corrects the Assignment to a Placement Test + * Corrects the Studyplan and adds the Studyplan to the Placement test + * @param $person_id ID of the Person + * @param $studienplan_id_old ID of the old Studyplan + * @param $studienplan_id ID of the new Studyplan + */ + private function correctReihungstest($person_id, $studienplan_id_old, $studienplan_id) + { + $this->load->model('crm/RtPerson_model', 'RtPersonModel'); + $this->load->model('crm/RtStudienplan_model', 'RtStudienplanModel'); + + $this->RtPersonModel->resetQuery(); + // Correct also Assignments to Placement test + $this->RtPersonModel->addJoin( + 'public.tbl_reihungstest', + 'tbl_reihungstest.reihungstest_id = tbl_rt_person.rt_id' + ); + + $rt = $this->RtPersonModel->loadWhere(array( + "person_id" => $person_id, + "studienplan_id" => $studienplan_id_old + )); + + // "tbl_reihungstest.datum > " => date('Y-m-d H:i:s') + + if(hasData($rt)) + { + foreach($rt->retval as $row_rt) + { + // Update RTPerson Record + $this->RtPersonModel->update($row_rt->rt_person_id, array( + 'studienplan_id' => $studienplan_id, + 'updateamum' => date('Y-m-d H:i:s'), + 'updatevon' => 'cron' + )); + + // Add new Studyplan to RtStudienplan if missing + $rt_studienplan = $this->RtStudienplanModel->loadWhere(array( + "reihungstest_id" => $row_rt->reihungstest_id, + "studienplan_id" => $studienplan_id + )); + + if(!hasData($rt_studienplan)) + { + $this->RtStudienplanModel->insert(array( + "reihungstest_id" => $row_rt->reihungstest_id, + "studienplan_id" => $studienplan_id + )); + } + } + } + } } diff --git a/application/controllers/system/Filters.php b/application/controllers/system/Filters.php index 8578b5786..e1e7db37a 100644 --- a/application/controllers/system/Filters.php +++ b/application/controllers/system/Filters.php @@ -7,7 +7,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); */ class Filters extends CI_Controller { - const SESSION_NAME = 'FILTER'; + const SESSION_NAME = 'FHC_FILTER_WIDGET'; const SELECTED_FIELDS = 'selectedFields'; const SELECTED_FILTERS = 'selectedFilters'; @@ -41,11 +41,13 @@ class Filters extends CI_Controller { $json = new stdClass(); - $json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; - $json->additionalColumns = $_SESSION[self::SESSION_NAME]['additionalColumns']; - $json->checkboxes = $_SESSION[self::SESSION_NAME]['checkboxes']; - $json->dataset = $_SESSION[self::SESSION_NAME]['dataset']; + $session = $this->_readSession($this->input->get('fhc_controller_id')); + + $json->selectedFields = $session['selectedFields']; + $json->columnsAliases = $session['columnsAliases']; + $json->additionalColumns = $session['additionalColumns']; + $json->checkboxes = $session['checkboxes']; + $json->dataset = $session['dataset']; $this->output->set_content_type('application/json')->set_output(json_encode($json)); } @@ -57,11 +59,13 @@ class Filters extends CI_Controller { $json = new stdClass(); - $json->allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $json->allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($this->input->get('fhc_controller_id')); - $json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; + $json->allSelectedFields = $session['allSelectedFields']; + $json->allColumnsAliases = $session['allColumnsAliases']; + + $json->selectedFields = $session['selectedFields']; + $json->columnsAliases = $session['columnsAliases']; $this->output->set_content_type('application/json')->set_output(json_encode($json)); } @@ -72,14 +76,17 @@ class Filters extends CI_Controller public function sortSelectedFields() { $selectedFieldsLst = $this->input->post('selectedFieldsLst'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); $json = new stdClass(); - $allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($fhc_controller_id); - $json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; + $allSelectedFields = $session['allSelectedFields']; + $allColumnsAliases = $session['allColumnsAliases']; + + $json->selectedFields = $session['selectedFields']; + $json->columnsAliases = $session['columnsAliases']; if (isset($selectedFieldsLst) && is_array($selectedFieldsLst)) { @@ -102,8 +109,8 @@ class Filters extends CI_Controller } } - $_SESSION[self::SESSION_NAME]['selectedFields'] = $json->selectedFields; - $_SESSION[self::SESSION_NAME]['columnsAliases'] = $json->columnsAliases; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $json->selectedFields; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $json->columnsAliases; $this->output->set_content_type('application/json')->set_output(json_encode($json)); } @@ -115,10 +122,12 @@ class Filters extends CI_Controller { $json = new stdClass(); - $json->allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $json->allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($this->input->get('fhc_controller_id')); - $json->selectedFilters = $_SESSION[self::SESSION_NAME]['selectedFilters']; + $json->allSelectedFields = $session['allSelectedFields']; + $json->allColumnsAliases = $session['allColumnsAliases']; + + $json->selectedFilters = $session['selectedFilters']; $json->selectedFiltersAliases = array(); $json->selectedFiltersMetaData = array(); @@ -126,10 +135,10 @@ class Filters extends CI_Controller $json->selectedFiltersActiveFiltersOperation = array(); $json->selectedFiltersActiveFiltersOption = array(); - $metaData = $_SESSION[self::SESSION_NAME]['metaData']; - $activeFilters = $_SESSION[self::SESSION_NAME]['activeFilters']; - $activeFiltersOperation = $_SESSION[self::SESSION_NAME]['activeFiltersOperation']; - $activeFiltersOption = $_SESSION[self::SESSION_NAME]['activeFiltersOption']; + $metaData = $session['metaData']; + $activeFilters = $session['activeFilters']; + $activeFiltersOperation = $session['activeFiltersOperation']; + $activeFiltersOption = $session['activeFiltersOption']; for ($i = 0; $i < count($json->selectedFilters); $i++) { @@ -170,7 +179,7 @@ class Filters extends CI_Controller */ public function saveFilter() { - $this->_saveFilter($this->input->post("customFilterDescription")); + $this->_saveFilter($this->input->post("customFilterDescription"), $this->input->post("fhc_controller_id")); $this->output->set_content_type('application/json')->set_output(json_encode('Tutto bene!!!')); } @@ -178,11 +187,11 @@ class Filters extends CI_Controller /** * */ - private function _saveFilter($customFilterDescription) + private function _saveFilter($customFilterDescription, $fhc_controller_id) { $objToBeSaved = new stdClass(); - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession($fhc_controller_id); $objToBeSaved->name = $customFilterDescription; @@ -235,8 +244,8 @@ class Filters extends CI_Controller $personId = $resultBenutzer->retval[0]->person_id; $result = $this->FiltersModel->loadWhere(array( - 'app' => $_SESSION[self::SESSION_NAME]['app'], - 'dataset_name' => $_SESSION[self::SESSION_NAME]['datasetName'], + 'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'], + 'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'], 'description' => $descPGArray, 'person_id' => $personId )); @@ -245,8 +254,8 @@ class Filters extends CI_Controller { $this->FiltersModel->update( array( - 'app' => $_SESSION[self::SESSION_NAME]['app'], - 'dataset_name' => $_SESSION[self::SESSION_NAME]['datasetName'], + 'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'], + 'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'], 'description' => $descPGArray, 'person_id' => $personId ), @@ -258,8 +267,8 @@ class Filters extends CI_Controller else { $this->FiltersModel->insert(array( - 'app' => $_SESSION[self::SESSION_NAME]['app'], - 'dataset_name' => $_SESSION[self::SESSION_NAME]['datasetName'], + 'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'], + 'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'], 'filter_kurzbz' => uniqid($personId, true), 'person_id' => $personId, 'description' => $descPGArray, @@ -277,12 +286,13 @@ class Filters extends CI_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)) { $this->FiltersModel->deleteCustomFilter($filter_id); - $this->output->set_content_type('application/json')->set_output(json_encode('Tutto bene!!!')); + $this->output->set_content_type('application/json')->set_output(json_encode('Removed')); } } @@ -292,12 +302,15 @@ class Filters extends CI_Controller public function removeSelectedFields() { $fieldName = $this->input->post('fieldName'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); - $allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($fhc_controller_id); - $selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; + $allSelectedFields = $session['allSelectedFields']; + $allColumnsAliases = $session['allColumnsAliases']; + + $selectedFields = $session['selectedFields']; + $columnsAliases = $session['columnsAliases']; if (($pos = array_search($fieldName, $selectedFields)) !== false) { @@ -309,8 +322,8 @@ class Filters extends CI_Controller } } - $_SESSION[self::SESSION_NAME]['selectedFields'] = $selectedFields; - $_SESSION[self::SESSION_NAME]['columnsAliases'] = $columnsAliases; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases; $json = new stdClass(); @@ -328,11 +341,14 @@ class Filters extends CI_Controller public function removeSelectedFilters() { $fieldName = $this->input->post('fieldName'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); - $selectedFilters = $_SESSION[self::SESSION_NAME]['selectedFilters']; - $selectedFiltersActiveFilters = $_SESSION[self::SESSION_NAME]['activeFilters']; - $selectedFiltersActiveFiltersOperation = $_SESSION[self::SESSION_NAME]['activeFiltersOperation']; - $selectedFiltersActiveFiltersOption = $_SESSION[self::SESSION_NAME]['activeFiltersOption']; + $session = $this->_readSession($fhc_controller_id); + + $selectedFilters = $session['selectedFilters']; + $selectedFiltersActiveFilters = $session['activeFilters']; + $selectedFiltersActiveFiltersOperation = $session['activeFiltersOperation']; + $selectedFiltersActiveFiltersOption = $session['activeFiltersOption']; if (($pos = array_search($fieldName, $selectedFilters)) !== false) { @@ -342,10 +358,10 @@ class Filters extends CI_Controller array_splice($selectedFiltersActiveFiltersOption, $pos, 1); } - $_SESSION[self::SESSION_NAME]['selectedFilters'] = $selectedFilters; - $_SESSION[self::SESSION_NAME]['activeFilters'] = $selectedFiltersActiveFilters; - $_SESSION[self::SESSION_NAME]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation; - $_SESSION[self::SESSION_NAME]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption; + $_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; $json = new stdClass(); @@ -363,12 +379,15 @@ class Filters extends CI_Controller public function addSelectedFields() { $fieldName = $this->input->post('fieldName'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); - $allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($fhc_controller_id); - $selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; + $allSelectedFields = $session['allSelectedFields']; + $allColumnsAliases = $session['allColumnsAliases']; + + $selectedFields = $session['selectedFields']; + $columnsAliases = $session['columnsAliases']; if (($pos = array_search($fieldName, $allSelectedFields)) !== false && array_search($fieldName, $selectedFields) === false) @@ -381,8 +400,8 @@ class Filters extends CI_Controller } } - $_SESSION[self::SESSION_NAME]['selectedFields'] = $selectedFields; - $_SESSION[self::SESSION_NAME]['columnsAliases'] = $columnsAliases; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases; $json = new stdClass(); @@ -400,11 +419,14 @@ class Filters extends CI_Controller public function addSelectedFilters() { $fieldName = $this->input->post('fieldName'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); - $selectedFilters = $_SESSION[self::SESSION_NAME]['selectedFilters']; - $selectedFiltersActiveFilters = $_SESSION[self::SESSION_NAME]['activeFilters']; - $selectedFiltersActiveFiltersOperation = $_SESSION[self::SESSION_NAME]['activeFiltersOperation']; - $selectedFiltersActiveFiltersOption = $_SESSION[self::SESSION_NAME]['activeFiltersOption']; + $session = $this->_readSession($fhc_controller_id); + + $selectedFilters = $session['selectedFilters']; + $selectedFiltersActiveFilters = $session['activeFilters']; + $selectedFiltersActiveFiltersOperation = $session['activeFiltersOperation']; + $selectedFiltersActiveFiltersOption = $session['activeFiltersOption']; if (!in_array($fieldName, $selectedFilters)) { @@ -414,10 +436,10 @@ class Filters extends CI_Controller $selectedFiltersActiveFiltersOption[$fieldName] = ""; } - $_SESSION[self::SESSION_NAME]['selectedFilters'] = $selectedFilters; - $_SESSION[self::SESSION_NAME]['activeFilters'] = $selectedFiltersActiveFilters; - $_SESSION[self::SESSION_NAME]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation; - $_SESSION[self::SESSION_NAME]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption; + $_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; $json = new stdClass(); @@ -438,6 +460,9 @@ class Filters extends CI_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'); + + $session = $this->_readSession($fhc_controller_id); if ($fieldNames == null) $fieldNames = array(); if ($filterOperationValues == null) $filterOperationValues = array(); @@ -448,9 +473,9 @@ class Filters extends CI_Controller $activeFiltersOperation = array_combine($fieldNames, $filterOperations); $activeFiltersOption = array_combine($fieldNames, $filterOptions); - $_SESSION[self::SESSION_NAME]['activeFilters'] = $activeFilters; - $_SESSION[self::SESSION_NAME]['activeFiltersOperation'] = $activeFiltersOperation; - $_SESSION[self::SESSION_NAME]['activeFiltersOption'] = $activeFiltersOption; + $_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; $json = new stdClass(); @@ -469,7 +494,9 @@ class Filters extends CI_Controller { $json = new stdClass(); - $dataset = $_SESSION[self::SESSION_NAME]['dataset']; + $session = $this->_readSession($this->input->get('fhc_controller_id')); + + $dataset = $session['dataset']; if (is_array($dataset)) { @@ -480,18 +507,20 @@ class Filters extends CI_Controller } /** - * Checks + * Checks if the user is allowed to use this filter */ private function _isAllowed() { $isAllowed = false; - if (isset($_SESSION[self::SESSION_NAME]['requiredPermissions'])) + $session = $this->_readSession($this->input->get('fhc_controller_id')); + + if (isset($session['requiredPermissions'])) { - $tmpRequiredPermissions = $_SESSION[self::SESSION_NAME]['requiredPermissions']; + $tmpRequiredPermissions = $session['requiredPermissions']; if (!is_array($tmpRequiredPermissions)) { - $tmpRequiredPermissions = array($_SESSION[self::SESSION_NAME]['requiredPermissions']); + $tmpRequiredPermissions = array($session['requiredPermissions']); } for ($i = 0; $i < count($tmpRequiredPermissions); $i++) @@ -506,17 +535,9 @@ class Filters extends CI_Controller break; } } - - if (!$isAllowed) - { - header('Content-Type: application/json'); - - echo json_encode('You are not allowed to access to this content'); - - exit(1); - } } - else + + if (!$isAllowed) { header('Content-Type: application/json'); @@ -525,4 +546,29 @@ class Filters extends CI_Controller exit(1); } } + + /** + * + */ + private function _readSession($fhc_controller_id) + { + if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$fhc_controller_id])) + return $_SESSION[self::SESSION_NAME][$fhc_controller_id]; + + return array(); + } + + /** + * + */ + private function _writeSession($data, $fhc_controller_id) + { + if (!isset($_SESSION[self::SESSION_NAME]) + || (isset($_SESSION[self::SESSION_NAME]) && !is_array($_SESSION[self::SESSION_NAME]))) + { + $_SESSION[self::SESSION_NAME] = array(); + } + + $_SESSION[self::SESSION_NAME][$fhc_controller_id] = $data; + } } diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 6e6e46619..d328bdce3 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -95,6 +95,8 @@ class InfoCenter extends FHC_Controller if(!$this->permissionlib->isBerechtigt('basis/person')) show_error('You have no Permission! You need Infocenter Role'); + $this->_setControllerId(); // sets the controller id + $this->setNavigationMenuArray(); // sets property navigationMenuArray } @@ -106,14 +108,14 @@ class InfoCenter extends FHC_Controller */ public function index() { - $this->load->view('system/infocenter/infocenter.php'); + $this->load->view('system/infocenter/infocenter.php', array('fhc_controller_id' => $this->fhc_controller_id)); } - + public function infocenterFreigegeben() { - $this->load->view('system/infocenter/infocenterFreigegeben.php'); + $this->load->view('system/infocenter/infocenterFreigegeben.php', array('fhc_controller_id' => $this->fhc_controller_id)); } - + /** * Initialization function, gets person and prestudent data and loads the view with the data * @param $person_id @@ -124,10 +126,11 @@ class InfoCenter extends FHC_Controller show_error('person id is not numeric!'); $personexists = $this->PersonModel->load($person_id); + if(isError($personexists)) show_error($personexists->retval); - if (empty($personexists->retval[0])) + if (empty($personexists->retval)) show_error('person does not exist!'); //mark person as locked for editing @@ -147,7 +150,7 @@ class InfoCenter extends FHC_Controller ) ); } - + /** * unlocks page from edit by a person, redirects to overview filter page * @param $person_id @@ -224,6 +227,30 @@ class InfoCenter extends FHC_Controller ->set_output(json_encode($jsonoutput)); } + /** + * Gets Zugangsvoraussetzungen for a prestudents as a description text + * @param $prestudent_id + */ + public function getZgvInfoForPrestudent($prestudent_id) + { + $studienordnung = $this->PrestudentstatusModel->getStudienordnungWithZgvText($prestudent_id); + + $prestudentdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id); + $studiengangkurzbz = $prestudentdata['studiengang_kurzbz']; + $studiengangbezeichnung = $prestudentdata['studiengang_bezeichnung']; + + $data = array('studiengang_bezeichnung' => $studiengangbezeichnung, 'studiengang_kurzbz' => $studiengangkurzbz, 'data' => null); + + if (hasData($studienordnung)) + { + $data['data'] = $studienordnung->retval[0]->data; + } + + $this->load->view('system/infocenter/studiengangZgvInfo.php', + $data + ); + } + /** * Saves a zgv for a prestudent. includes Ort, Datum, Nation for bachelor and master. * @param $prestudent_id @@ -292,7 +319,7 @@ class InfoCenter extends FHC_Controller } //check if still Interessent and not freigegeben yet - if ($lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam)) + if (count($lastStatus->retval) > 0 && $lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam)) { $result = $this->PrestudentstatusModel->insert( array( @@ -340,6 +367,11 @@ class InfoCenter extends FHC_Controller { $lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id); + if (isError($lastStatus)) + { + show_error($lastStatus->retval); + } + if (count($lastStatus->retval) > 0) { $lastStatus = $lastStatus->retval[0]; @@ -367,17 +399,41 @@ class InfoCenter extends FHC_Controller show_error($result->retval); } - $this->_sendFreigabeMail($prestudent_id); + $this->load->model('crm/dokumentprestudent_model', 'DokumentprestudentModel'); $logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id); + //set documents which have been formal geprüft to accepted + $result = $this->AkteModel->loadWhere(array('person_id' => $logdata['person_id'], 'formal_geprueft_amum !=' => NULL)); + + if (isError($result)) + { + show_error($result->retval); + } + + $dokument_kurzbzs = array(); + + foreach ($result->retval as $akte) + { + $dokument_kurzbzs[] = $akte->dokument_kurzbz; + } + + $result = $this->DokumentprestudentModel->setAcceptedDocuments($prestudent_id, $dokument_kurzbzs); + + if (isError($result)) + { + show_error($result->retval); + } + + $this->_sendFreigabeMail($prestudent_id); + $this->_log($logdata['person_id'], 'freigegeben', array($prestudent_id, $logdata['studiengang_kurzbz'])); } } $this->_redirectToStart($prestudent_id, 'ZgvPruef'); } - + /** * Saves a new Notiz for a person * @param $person_id @@ -401,7 +457,7 @@ class InfoCenter extends FHC_Controller ->set_content_type('application/json') ->set_output(json_encode($result->retval)); } - + /** * Updates a new Notiz for a person * @param int $notiz_id @@ -409,7 +465,7 @@ class InfoCenter extends FHC_Controller * @return bool true if success */ public function updateNotiz($notiz_id, $person_id) - { + { $titel = $this->input->post('notiztitel'); $text = $this->input->post('notiz'); @@ -423,18 +479,18 @@ class InfoCenter extends FHC_Controller "updatevon" => $this->uid ) ); - - + + $json = FALSE; - + if (isSuccess($result)) { $json = TRUE; - + //set log "Notiz updated" $this->_log($person_id, 'updatenotiz', array($titel)); } - + $this->output ->set_content_type('application/json') ->set_output(json_encode($json)); @@ -562,7 +618,7 @@ class InfoCenter extends FHC_Controller 'children' => array() ) ); - + $this->_fillFilters($listFiltersSent, $filtersarray['abgeschickt']); $this->_fillFilters($listFiltersNotSent, $filtersarray['nichtabgeschickt']); @@ -608,9 +664,10 @@ class InfoCenter extends FHC_Controller { foreach ($filters as $filterId => $description) { - $toPrint = "%s=%s"; + $toPrint = "%s?%s=%s&%s=%s"; + $tofill['children'][] = array( - 'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter?filter_id'), $filterId), + 'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id), 'description' => $description ); } @@ -620,10 +677,10 @@ class InfoCenter extends FHC_Controller { foreach ($filters as $filterId => $description) { - $toPrint = "%s=%s"; + $toPrint = "%s?%s=%s&%s=%s"; $tofill['children'][] = array( - 'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter?filter_id'), $filterId), + 'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id), 'description' => $description, 'subscriptDescription' => 'Remove', 'subscriptLinkClass' => 'remove-filter', @@ -833,8 +890,9 @@ class InfoCenter extends FHC_Controller $person_id = $prestudent->retval[0]->person_id; $studiengang_kurzbz = $prestudent->retval[0]->studiengang; + $studiengang_bezeichnung = $prestudent->retval[0]->studiengangbezeichnung; - return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz); + return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz, 'studiengang_bezeichnung' => $studiengang_bezeichnung); } /** @@ -971,4 +1029,21 @@ class InfoCenter extends FHC_Controller $this->loglib->logError('Studiengang has no mail for sending Freigabe mail'); } } + + /** + * Sets the unique id for the called controller + */ + private function _setControllerId() + { + $fhc_controller_id = $this->input->get('fhc_controller_id'); + + if (!isset($fhc_controller_id) || empty($fhc_controller_id)) + { + $fhc_controller_id = uniqid(); + header('Location: '.$_SERVER['REQUEST_URI'].'?fhc_controller_id='.$fhc_controller_id); + exit; + } + + $this->fhc_controller_id = $fhc_controller_id; + } } diff --git a/application/helpers/fhc_helper.php b/application/helpers/fhc_helper.php index 549247754..19326e4df 100644 --- a/application/helpers/fhc_helper.php +++ b/application/helpers/fhc_helper.php @@ -62,17 +62,16 @@ function generateToken($length = 64) } /** - * var_dump_to_error_log() * Gets the output of the var_dump function and print it out * via the error log. It also removes the end line characters */ function var_dump_to_error_log($parameter) { ob_start(); - var_dump($parameter); + var_dump($parameter); // KEEP IT!!! $ob_get_contents = ob_get_contents(); ob_end_clean(); - error_log(str_replace("\n", '', $ob_get_contents)); + error_log(str_replace("\n", '', $ob_get_contents)); // KEEP IT!!! } /** diff --git a/application/helpers/fhcauth_helper.php b/application/helpers/fhcauth_helper.php index 42fe5889f..da01d62ba 100644 --- a/application/helpers/fhcauth_helper.php +++ b/application/helpers/fhcauth_helper.php @@ -60,41 +60,8 @@ if ( ! function_exists('auth')) */ function getAuthUID() { - $uid = false; $ci =& get_instance(); // get CI instance - $ci->load->library('session'); // load session library + $ci->load->library('AuthLib'); // load session library - // If uid hasn't never been set and is present in CI session - if ($uid === false && isset($ci->session->uid)) - { - $uid = $ci->session->uid; - } - else - { - // Try to check if uid is stored elsewhere - if (isset($_SERVER['PHP_AUTH_USER'])) - { - $uid = $_SERVER['PHP_AUTH_USER']; - } - else if (isset($_SESSION['uid'])) - { - $uid = $_SESSION['uid']; - } - // Workaround for a strange behavior - // Sometimes $_SERVER['PHP_AUTH_USER'] is not set here, but is set when - // used by authentication object - else - { - $auth = new authentication(); - $uid = $auth->getUser(); - } - } - - // If uid is set and uid in CI session is not set - if ($uid !== false && !isset($ci->session->uid)) - { - $ci->session->uid = $uid; - } - - return $uid; -} \ No newline at end of file + return $ci->authlib->getUser(); +} diff --git a/application/models/accounting/Kostenstelle_model.php b/application/models/accounting/Kostenstelle_model.php index 4342327f7..f338b69d5 100644 --- a/application/models/accounting/Kostenstelle_model.php +++ b/application/models/accounting/Kostenstelle_model.php @@ -15,39 +15,20 @@ class Kostenstelle_model extends DB_Model /** * Gets all active Kostenstellen for a geschaeftsjahr, as determined by the geschaeftsjahrvon and bis fields * Gets Kostenstellen of current Geschaeftsjahr if Geschaeftsjahr not specified - * Only the Kostenstellen for which a permission exists are returned! * @param $geschaeftsjahr - * @return array|null + * @return array|null Kostenstellen or empty array if no geschaeftsjahr found */ public function getActiveKostenstellenForGeschaeftsjahr($geschaeftsjahr = null) { $this->load->model('organisation/geschaeftsjahr_model', 'GeschaeftsjahrModel'); - if ($geschaeftsjahr === null) + $gj = $this->_getGeschaeftsjahr($geschaeftsjahr); + + if (hasData($gj)) { - $lgj = $this->GeschaeftsjahrModel->getCurrGeschaeftsjahr(); + $gjstart = $gj->retval[0]->start; - if ($lgj->error) - return error($lgj->retval); - - if (count($lgj->retval) < 1) - return success(array()); - - $geschaeftsjahr = $lgj->retval[0]->geschaeftsjahr_kurzbz; - } - - $this->GeschaeftsjahrModel->addSelect('start, ende'); - $gj = $this->GeschaeftsjahrModel->load($geschaeftsjahr); - - if ($gj->error) - return error($gj->retval); - - if (count($gj->retval) < 1) - return success(array()); - - $gjstart = $gj->retval[0]->start; - - $query = 'SELECT kostenstelle_id, kurzbz, wawi.tbl_kostenstelle.bezeichnung, wawi.tbl_kostenstelle.aktiv + $query = 'SELECT kostenstelle_id, kurzbz, wawi.tbl_kostenstelle.bezeichnung, wawi.tbl_kostenstelle.aktiv, wawi.tbl_kostenstelle.oe_kurzbz FROM wawi.tbl_kostenstelle LEFT JOIN public.tbl_geschaeftsjahr kgjvon on wawi.tbl_kostenstelle.geschaeftsjahrvon = kgjvon.geschaeftsjahr_kurzbz LEFT JOIN public.tbl_geschaeftsjahr kgjbis on wawi.tbl_kostenstelle.geschaeftsjahrbis = kgjbis.geschaeftsjahr_kurzbz @@ -57,6 +38,96 @@ class Kostenstelle_model extends DB_Model (DATE ? < kgjbis.ende OR wawi.tbl_kostenstelle.geschaeftsjahrbis IS NULL) ORDER BY wawi.tbl_kostenstelle.bezeichnung'; - return $this->execQuery($query, array($gjstart, $gjstart)); + return $this->execQuery($query, array($gjstart, $gjstart)); + } + else + { + return success(array()); + } + } + + /** + * Gets all active Kostenstellen for a geschaeftsjahr, as determined by the geschaeftsjahrvon and bis fields, together with their oe, + * hierarchally sorted, gets Kostenstellen of current Geschaeftsjahr if Geschaeftsjahr not specified + * @param null $geschaeftsjahr + * @return array|null + */ + public function getActiveKostenstellenForGeschaeftsjahrWithOe($geschaeftsjahr = null) + { + $this->load->model('organisation/geschaeftsjahr_model', 'GeschaeftsjahrModel'); + + $gj = $this->_getGeschaeftsjahr($geschaeftsjahr); + + if (hasData($gj)) + { + $gjstart = $gj->retval[0]->start; + + $query = "WITH RECURSIVE tree (oe_kurzbz, bezeichnung, path, level, organisationseinheittyp_kurzbz) AS ( + SELECT oe_kurzbz, + bezeichnung || ' (' || organisationseinheittyp_kurzbz || ')' AS bezeichnung, + oe_kurzbz || '|' AS path, 0 AS level, + organisationseinheittyp_kurzbz + FROM tbl_organisationseinheit + WHERE oe_parent_kurzbz IS NULL + AND aktiv = true + UNION ALL + SELECT oe.oe_kurzbz, + oe.bezeichnung || ' (' || oe.organisationseinheittyp_kurzbz || ')' AS bezeichnung, + tree.path || oe.oe_kurzbz || '|' AS path, tree.level + 1 AS level, + oe.organisationseinheittyp_kurzbz + FROM tree JOIN tbl_organisationseinheit oe ON (tree.oe_kurzbz = oe.oe_parent_kurzbz) + ) + SELECT oe_kurzbz, + SUBSTRING(REGEXP_REPLACE(path, '[A-z]+\|', '-', 'g') || rec.bezeichnung, 2) AS oe_description, + level, + kst.kostenstelle_id as kostenstelle_id, + kst.kurzbz as kostenstelle_kurzbz, + kst.bezeichnung as kostenstelle_bezeichnung, + kst.aktiv as kostenstelle_aktiv + FROM tree rec + JOIN ( + SELECT kostenstelle_id, kurzbz, wawi.tbl_kostenstelle.bezeichnung, wawi.tbl_kostenstelle.aktiv, wawi.tbl_kostenstelle.oe_kurzbz as kstoe + FROM wawi.tbl_kostenstelle + LEFT JOIN public.tbl_geschaeftsjahr kgjvon on wawi.tbl_kostenstelle.geschaeftsjahrvon = kgjvon.geschaeftsjahr_kurzbz + LEFT JOIN public.tbl_geschaeftsjahr kgjbis on wawi.tbl_kostenstelle.geschaeftsjahrbis = kgjbis.geschaeftsjahr_kurzbz + WHERE + (DATE ? >= kgjvon.start OR wawi.tbl_kostenstelle.geschaeftsjahrvon IS NULL) + AND + (DATE ? < kgjbis.ende OR wawi.tbl_kostenstelle.geschaeftsjahrbis IS NULL) + ORDER BY wawi.tbl_kostenstelle.bezeichnung) + kst on kst.kstoe = rec.oe_kurzbz + ORDER BY level"; + + return $this->execQuery($query, array($gjstart, $gjstart)); + } + else + { + return success(array()); + } + } + + /** + * Gets either given Geschaeftsjahr, current Geschaeftsjahr if not given, or chronologically last Geschaeftsjahr if there is no current + * @param $geschaeftsjahr + * @return mixed + */ + protected function _getGeschaeftsjahr($geschaeftsjahr) + { + if ($geschaeftsjahr === null) + { + $gj = $this->GeschaeftsjahrModel->getCurrGeschaeftsjahr(); + if (!hasData($gj)) + { + $this->GeschaeftsjahrModel->addSelect('geschaeftsjahr_kurzbz, start, ende'); + $this->GeschaeftsjahrModel->addOrder('start', 'DESC'); + $gj = $this->GeschaeftsjahrModel->load(); + } + } + else + { + $this->GeschaeftsjahrModel->addSelect('geschaeftsjahr_kurzbz, start, ende'); + $gj = $this->GeschaeftsjahrModel->load($geschaeftsjahr); + } + return $gj; } } diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index d7a46e7c5..4cfe08e9a 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -221,10 +221,34 @@ class Prestudent_model extends DB_Model { $this->load->model('system/sprache_model', 'SpracheModel'); $language = $this->SpracheModel->load($lastStatus->retval[0]->sprache); + if ($language->error) return error($language->retval); + if (count($language->retval) > 0) $lastStatus->retval[0]->sprachedetails = $language->retval[0]; + + //get Bewerbungsfrist + $this->load->model('crm/bewerbungstermine_model', 'BewerbungstermineModel'); + $this->BewerbungstermineModel->addSelect('ende, nachfrist_ende'); + $this->BewerbungstermineModel->addOrder('ende', 'DESC'); + $this->BewerbungstermineModel->addLimit(1); + $bewerbungstermin = $this->BewerbungstermineModel->loadWhere( + array( + 'studienplan_id' => $lastStatus->retval[0]->studienplan_id, + 'studiensemester_kurzbz' => $lastStatus->retval[0]->studiensemester_kurzbz, + 'studiengang_kz' => $prestudent->retval[0]->studiengang_kz + ) + ); + if ($bewerbungstermin->error) + return error($bewerbungstermin->retval); + + if (count($bewerbungstermin->retval) > 0) + { + $lastStatus->retval[0]->bewerbungstermin = $bewerbungstermin->retval[0]->ende; + $lastStatus->retval[0]->bewerbungsnachfrist = $bewerbungstermin->retval[0]->nachfrist_ende; + } + $prestudent->retval[0]->prestudentstatus = $lastStatus->retval[0]; } diff --git a/application/models/crm/Prestudentstatus_model.php b/application/models/crm/Prestudentstatus_model.php index 9948b3509..db98ddff6 100644 --- a/application/models/crm/Prestudentstatus_model.php +++ b/application/models/crm/Prestudentstatus_model.php @@ -107,4 +107,40 @@ class Prestudentstatus_model extends DB_Model return $this->execQuery($query, $parametersArray); } + + /** + * Gets Studienordnung for last status of Prestudent + * @param $prestudent_id + * @return array + */ + public function getStudienordnungWithZgvText($prestudent_id) + { + $lastStatus = $this->getLastStatus($prestudent_id); + + if ($lastStatus->error) + { + return error($lastStatus->retval); + } + + if (count($lastStatus->retval) > 0) + { + $lastStatus = $lastStatus->retval[0]; + + $this->addJoin('lehre.tbl_studienplan', 'studienplan_id'); + $this->addJoin('lehre.tbl_studienordnung', 'studienordnung_id'); + $this->addJoin('addon.tbl_stgv_zugangsvoraussetzung', 'studienordnung_id'); + return $this->loadWhere( + array( + 'public.tbl_prestudentstatus.prestudent_id' => $lastStatus->prestudent_id, + 'public.tbl_prestudentstatus.status_kurzbz' => $lastStatus->status_kurzbz, + 'public.tbl_prestudentstatus.studiensemester_kurzbz' => $lastStatus->studiensemester_kurzbz, + 'public.tbl_prestudentstatus.ausbildungssemester' => $lastStatus->ausbildungssemester + ) + ); + } + else + { + return sucess(array()); + } + } } diff --git a/application/models/crm/RtStudienplan_model.php b/application/models/crm/RtStudienplan_model.php new file mode 100644 index 000000000..0e6fdeef3 --- /dev/null +++ b/application/models/crm/RtStudienplan_model.php @@ -0,0 +1,15 @@ +dbTable = "public.tbl_rt_studienplan"; + $this->pk = array("rt_id", "studienplan_id"); + $this->hasSequence = false; + } +} diff --git a/application/models/organisation/Organisationseinheit_model.php b/application/models/organisation/Organisationseinheit_model.php index 37b269f79..272204e7e 100644 --- a/application/models/organisation/Organisationseinheit_model.php +++ b/application/models/organisation/Organisationseinheit_model.php @@ -115,4 +115,52 @@ class Organisationseinheit_model extends DB_Model return $this->execQuery($query, array($oe_kurzbz)); } + + /** + * Liefert die ChildNodes einer Organisationseinheit + * @param $oe_kurzbz + * @param bool $includeinactive - wether to include inactive parent oes + * @return array mit den Childs inkl dem Uebergebenen Element + */ + public function getChilds($oe_kurzbz, $includeinactive = false) + { + $query = " + WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as + ( + SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit + WHERE oe_kurzbz=? %s + UNION ALL + SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes + WHERE o.oe_parent_kurzbz=oes.oe_kurzbz + ) + SELECT oe_kurzbz + FROM oes + GROUP BY oe_kurzbz;"; + + return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz)); + } + + /** + * Liefert die OEs die im Tree ueberhalb der uebergebene OE liegen + * @param $oe_kurzbz + * @param bool $includeinactive - wether to include inactive parent oes + * @return array|null + */ + public function getParents($oe_kurzbz, $includeinactive = false) + { + $query= + "WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as + ( + SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit + WHERE oe_kurzbz=? %s + UNION ALL + SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes + WHERE o.oe_kurzbz=oes.oe_parent_kurzbz and aktiv = true + ) + SELECT oe_kurzbz + FROM oes"; + + return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz)); + } + } diff --git a/application/views/system/infocenter/infocenter.php b/application/views/system/infocenter/infocenter.php index 5963f77ca..ab9746a8e 100644 --- a/application/views/system/infocenter/infocenter.php +++ b/application/views/system/infocenter/infocenter.php @@ -9,8 +9,8 @@ 'fontawesome' => true, 'sbadmintemplate' => true, 'tablesorter' => true, - 'customCSSs' => 'skin/tablesort_bootstrap.css', - 'customJSs' => array('include/js/bootstrapper.js', 'include/js/infocenter/infocenterPersonDataset.js') + 'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css', + 'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js') ) ); ?> @@ -29,7 +29,7 @@