mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 10:22:18 +00:00
Merge branch 'master' into permissions
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user