Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred Kindl
2018-05-11 16:59:19 +02:00
36 changed files with 601 additions and 283 deletions
+2
View File
@@ -10,6 +10,8 @@ documents/
.project
.buildpath
application/config/development/
application/config/testing/
application/config/production
application/extensions/
application/controllers/extensions/
application/config/extensions/
+7 -14
View File
@@ -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'
));
+1 -1
View File
@@ -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'
)
)
);
-1
View File
@@ -391,7 +391,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)
+117 -65
View File
@@ -7,7 +7,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
*/
class Filters extends VileSci_Controller
{
const SESSION_NAME = 'FILTER';
const SESSION_NAME = 'FHC_FILTER_WIDGET';
const SELECTED_FIELDS = 'selectedFields';
const SELECTED_FILTERS = 'selectedFilters';
@@ -37,11 +37,13 @@ class Filters extends VileSci_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));
}
@@ -53,11 +55,13 @@ class Filters extends VileSci_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));
}
@@ -68,14 +72,17 @@ class Filters extends VileSci_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))
{
@@ -98,8 +105,8 @@ class Filters extends VileSci_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));
}
@@ -111,10 +118,12 @@ class Filters extends VileSci_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();
@@ -122,10 +131,10 @@ class Filters extends VileSci_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++)
{
@@ -166,7 +175,7 @@ class Filters extends VileSci_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!!!'));
}
@@ -174,11 +183,11 @@ class Filters extends VileSci_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;
@@ -231,8 +240,8 @@ class Filters extends VileSci_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
));
@@ -241,8 +250,8 @@ class Filters extends VileSci_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
),
@@ -254,8 +263,8 @@ class Filters extends VileSci_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,
@@ -273,12 +282,13 @@ 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))
{
$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'));
}
}
@@ -288,12 +298,15 @@ class Filters extends VileSci_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)
{
@@ -305,8 +318,8 @@ class Filters extends VileSci_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();
@@ -324,11 +337,14 @@ class Filters extends VileSci_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)
{
@@ -338,10 +354,10 @@ class Filters extends VileSci_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();
@@ -359,12 +375,15 @@ class Filters extends VileSci_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)
@@ -377,8 +396,8 @@ class Filters extends VileSci_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();
@@ -396,11 +415,14 @@ class Filters extends VileSci_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))
{
@@ -410,10 +432,10 @@ class Filters extends VileSci_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();
@@ -434,14 +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');
$session = $this->_readSession($fhc_controller_id);
$activeFilters = array_combine($fieldNames, $filterOperationValues);
$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();
@@ -460,7 +485,9 @@ class Filters extends VileSci_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))
{
@@ -469,4 +496,29 @@ class Filters extends VileSci_Controller
$this->output->set_content_type('application/json')->set_output(json_encode($json));
}
/**
*
*/
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;
}
}
@@ -80,6 +80,8 @@ class InfoCenter extends VileSci_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
}
@@ -91,12 +93,12 @@ class InfoCenter extends VileSci_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));
}
/**
@@ -109,10 +111,11 @@ class InfoCenter extends VileSci_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
@@ -209,6 +212,30 @@ class InfoCenter extends VileSci_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
@@ -277,7 +304,7 @@ class InfoCenter extends VileSci_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(
@@ -325,6 +352,11 @@ class InfoCenter extends VileSci_Controller
{
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
if (isError($lastStatus))
{
show_error($lastStatus->retval);
}
if (count($lastStatus->retval) > 0)
{
$lastStatus = $lastStatus->retval[0];
@@ -352,10 +384,34 @@ class InfoCenter extends VileSci_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']));
}
}
@@ -593,9 +649,10 @@ class InfoCenter extends VileSci_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
);
}
@@ -605,10 +662,10 @@ class InfoCenter extends VileSci_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',
@@ -818,8 +875,9 @@ class InfoCenter extends VileSci_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);
}
/**
@@ -956,4 +1014,21 @@ class InfoCenter extends VileSci_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;
}
}
+2 -3
View File
@@ -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!!!
}
/**
+2 -35
View File
@@ -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;
return $ci->authlib->getUser();
}
@@ -229,10 +229,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];
}
@@ -119,4 +119,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());
}
}
}
@@ -119,15 +119,16 @@ class Organisationseinheit_model extends DB_Model
/**
* Liefert die ChildNodes einer Organisationseinheit
* @param $oe_kurzbz
* @return Array mit den Childs inkl dem Uebergebenen Element
* @param bool $includeinactive - wether to include inactive parent oes
* @return array mit den Childs inkl dem Uebergebenen Element
*/
public function getChilds($oe_kurzbz)
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=?
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
@@ -136,20 +137,22 @@ class Organisationseinheit_model extends DB_Model
FROM oes
GROUP BY oe_kurzbz;";
return $this->execQuery($query, array($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)
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=? and aktiv = true
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
@@ -157,7 +160,7 @@ class Organisationseinheit_model extends DB_Model
SELECT oe_kurzbz
FROM oes";
return $this->execQuery($query, array($oe_kurzbz));
return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz));
}
}
@@ -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 @@
</div>
<div>
<?php
$this->load->view('system/infocenter/infocenterData.php');
$this->load->view('system/infocenter/infocenterData.php', array('fhc_controller_id' => $fhc_controller_id));
?>
</div>
</div>
@@ -14,7 +14,7 @@
SELECT zeitpunkt
FROM system.tbl_log
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\')
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\', \'Interessent rejected\')
AND person_id = p.person_id
ORDER BY zeitpunkt DESC
LIMIT 1
@@ -23,7 +23,7 @@
SELECT insertvon
FROM system.tbl_log
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\')
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\', \'Interessent rejected\')
AND person_id = p.person_id
ORDER BY zeitpunkt DESC
LIMIT 1
@@ -186,6 +186,7 @@
)
ORDER BY "LastAction" ASC
',
'fhc_controller_id' => $fhc_controller_id,
'checkboxes' => 'PersonId',
'additionalColumns' => array('Details'),
'columnsAliases' => array('PersonID','Vorname','Nachname','GebDatum','Nation', 'Letzte Aktion','Letzter Bearbeiter',
@@ -13,14 +13,14 @@
'addons' => true,
'customCSSs' =>
array(
'skin/admintemplate.css',
'skin/tablesort_bootstrap.css'
'public/css/sbadmin2/admintemplate.css',
'public/css/sbadmin2/tablesort_bootstrap.css'
),
'customJSs' =>
array(
'include/js/bootstrapper.js',
'include/js/tablesort/tablesort.js',
'include/js/infocenter/infocenterDetails.js')
'public/js/bootstrapper.js',
'public/js/tablesort/tablesort.js',
'public/js/infocenter/infocenterDetails.js')
)
);
?>
@@ -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')
)
);
?>
@@ -170,8 +170,7 @@
)
ORDER BY "LastAction" ASC
',
'hideHeader' => false,
'hideSave' => false,
'fhc_controller_id' => $fhc_controller_id,
'checkboxes' => 'PersonId',
'additionalColumns' => array('Details'),
'columnsAliases' => array('PersonID','Vorname','Nachname','GebDatum','Nation','Letzte Aktion','Letzter Bearbeiter',
@@ -9,9 +9,9 @@
<tbody>
<?php foreach ($notizen as $notiz): ?>
<tr data-toggle="tooltip"
title="<?php echo isset($notiz->text) ? strip_tags($notiz->text) : '' ?>">
title="<?php echo isset($notiz->text) ? strip_tags($notiz->text) : '' ?>" style="cursor: pointer">
<td><?php echo date_format(date_create($notiz->insertamum), 'd.m.Y H:i:s') ?></td>
<td style="cursor: pointer"><?php echo html_escape($notiz->titel) ?></td>
<td><?php echo html_escape($notiz->titel) ?></td>
<td><?php echo $notiz->verfasser_uid ?></td>
<td style="display: none"><?php echo $notiz->notiz_id ?></td>
</tr>
@@ -91,7 +91,7 @@
</tbody>
</table>
<div class="row">
<div class="col-lg-6">
<div class="col-xs-6">
<form id="sendmsgform" method="post" action="<?php echo $messagelink ?>"
target="_blank">
<input type="hidden" name="person_id"
@@ -101,7 +101,7 @@
</form>
</div>
<?php if (isset($stammdaten->zugangscode)): ?>
<div class="col-lg-6 text-right">
<div class="col-xs-6 text-right">
<a href="<?php echo CIS_ROOT.'addons/bewerbung/cis/registration.php?code='.html_escape($stammdaten->zugangscode) ?>"
target='_blank'><i class="glyphicon glyphicon-new-window"></i>&nbsp;Zugang Bewerbung</a>
</div>
@@ -0,0 +1,37 @@
<?php
$this->load->view(
'templates/FHC-Header',
array(
'title' => 'ZGV Info',
'jquery' => true,
'bootstrap' => true,
'fontawesome' => true,
'sbadmintemplate' => true,
'customCSSs' => 'public/css/sbadmin2/admintemplate_contentonly.css'
)
);
?>
<body>
<div id="wrapper">
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">Zugangsvoraussetzungen <?php echo $studiengang_kurzbz; ?> - <?php echo $studiengang_bezeichnung; ?></h3>
</div>
</div>
<div id="data">
<?php if (empty($data)): ?>
Keine Zugangsvoraussetzungen für den Studiengang definiert
<?php
else:
echo json_decode($data);
endif;
?>
</div>
</div>
</div>
</div>
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
@@ -2,25 +2,42 @@
<?php
foreach ($zgvpruefungen as $zgvpruefung):
$infoonly = $zgvpruefung->infoonly;
//set bootstrap columns
//set bootstrap columns for zgv form
$columns = array(4, 3, 2, 3);
$headercolumns = array(7, 5);
if (!$infoonly && isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) && isset($zgvpruefung->prestudentstatus->bewerbungstermin))
{
$headercolumns[0] = 5;
$headercolumns[1] = 7;
}
?>
<br/>
<div class="panel panel-default">
<div class="panel-heading">
<div class="row">
<div class="col-lg-8">
<div class="col-xs-<?php echo $headercolumns[0]; ?>">
<h4 class="panel-title">
<a data-toggle="collapse"
href="#collapse<?php echo $zgvpruefung->prestudent_id ?>"><?php echo $zgvpruefung->studiengang.' - '.$zgvpruefung->studiengangbezeichnung.' | '.(isset($zgvpruefung->prestudentstatus->status_kurzbz) ? $zgvpruefung->prestudentstatus->status_kurzbz : '');
?></a>
</h4>
</div>
<?php if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent' && !$infoonly): ?>
<div class="col-lg-4 text-right">
<?php echo 'Bewerbung abgeschickt: '.(isset($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum) ? '<i class="fa fa-check" style="color:green"></i>' : '<i class="fa fa-times" style="color:red"></i>'); ?>
<?php if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'/* && !$infoonly*/): ?>
<?php if ($infoonly): ?>
<?php if (isset($zgvpruefung->prestudentstatus->bestaetigtam)): ?>
<div class="col-xs-<?php echo $headercolumns[1]; ?> text-right">
<i class="fa fa-check" style="color: green"></i>
An Studiengang freigegeben
</div>
<?php endif ?>
<?php endif; ?>
<?php else: ?>
<div class="col-xs-<?php echo $headercolumns[1]; ?> text-right">
<?php echo 'Bewerbung abgeschickt: '.(isset($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum) ? '<i class="fa fa-check" style="color:green"></i>' : '<i class="fa fa-times" style="color:red"></i>'); ?>
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) ? ' | Nachfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungsnachfrist), 'd.m.Y') : ''); ?>
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungstermin) ? ' | Bewerbungsfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungstermin), 'd.m.Y') : ''); ?>
</div>
<?php endif; ?>
<?php endif; ?>
</div>
</div>
<div id="collapse<?php echo $zgvpruefung->prestudent_id ?>"
@@ -70,10 +87,24 @@
<div class="row">
<div class="col-lg-<?php echo $columns[0] ?>">
<div class="form-group">
<div class="row">
<?php if ($infoonly): ?>
<div class="col-xs-8">
<label>ZGV:</label>
<?php if ($infoonly)
echo $zgvpruefung->zgv_bez;
else
<?php echo $zgvpruefung->zgv_bez; ?>
</div>
<?php else: ?>
<div class="col-xs-3">
<label>ZGV:</label>
</div>
<?php endif;
$zgvinfocolumns = $infoonly ? 4 : 9;
?>
<div class="col-xs-<?php echo $zgvinfocolumns; ?> text-right zgvinfo" id="zgvinfo_<?php echo $zgvpruefung->prestudent_id ?>">
<a href="javascript:void(0)"><i class="fa fa-info-circle"></i> ZGV <?php echo $zgvpruefung->studiengang; ?></a>
</div>
</div>
<?php if (!$infoonly)
echo $this->widgetlib->widget(
'Zgv_widget',
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgv_code),
@@ -188,12 +219,12 @@
<?php endif; ?>
<?php if (!$infoonly): ?>
<div class="row">
<div class="col-lg-6 text-left">
<div class="col-xs-6 text-left">
<button type="button" class="btn btn-default zgvUebernehmen" id="zgvUebernehmen_<?php echo $zgvpruefung->prestudent_id ?>">
Letzte ZGV &uuml;bernehmen
</button>
</div>
<div class="col-lg-6 text-right">
<div class="col-xs-6 text-right">
<button type="submit" class="btn btn-default saveZgv" id="zgvSpeichern_<?php echo $zgvpruefung->prestudent_id ?>">
Speichern
</button>
@@ -331,8 +362,7 @@
Interessentenstatus bestätigt und<br/>deren
Zgvdaten
können im
Infocenter nicht mehr bearbeitet oder
freigegeben
Infocenter nicht mehr bearbeitet
werden.
<br/>Alle nicht gespeicherten Zgvdaten gehen
verloren.
+2 -2
View File
@@ -8,8 +8,8 @@ $this->load->view(
'fontawesome' => true,
'tinymce' => true,
'sbadmintemplate' => true,
'customCSSs' => 'skin/admintemplate_contentonly.css',
'customJSs' => 'include/js/bootstrapper.js'
'customCSSs' => 'public/css/sbadmin2/admintemplate_contentonly.css',
'customJSs' => 'public/js/bootstrapper.js'
)
);
?>
+2 -1
View File
@@ -119,7 +119,8 @@
url: "<?php echo site_url('system/Filters/deleteCustomFilter'); ?>",
method: "POST",
data: {
filter_id: $(this).attr('value')
filter_id: $(this).attr('value'),
fhc_controller_id: getUrlParameter("fhc_controller_id")
}
})
.done(function(data, textStatus, jqXHR) {
@@ -9,7 +9,8 @@
url: "<?php echo site_url('system/Filters/saveFilter'); ?>",
method: "POST",
data: {
customFilterDescription: $("#customFilterDescription").val()
customFilterDescription: $("#customFilterDescription").val(),
fhc_controller_id: getUrlParameter("fhc_controller_id")
}
})
.done(function(data, textStatus, jqXHR) {
@@ -77,7 +77,8 @@
url: "<?php echo site_url('system/Filters/sortSelectedFields'); ?>",
method: "POST",
data: {
selectedFieldsLst: arrayDndId
selectedFieldsLst: arrayDndId,
fhc_controller_id: getUrlParameter("fhc_controller_id")
}
})
.done(function(data, textStatus, jqXHR) {
@@ -109,7 +110,8 @@
url: "<?php echo site_url('system/Filters/addSelectedFields'); ?>",
method: "POST",
data: {
fieldName: $(this).val()
fieldName: $(this).val(),
fhc_controller_id: getUrlParameter("fhc_controller_id")
}
})
.done(function(data, textStatus, jqXHR) {
@@ -131,7 +133,8 @@
url: "<?php echo site_url('system/Filters/removeSelectedFields'); ?>",
method: "POST",
data: {
fieldName: $(this).attr('fieldToRemove')
fieldName: $(this).attr('fieldToRemove'),
fhc_controller_id: getUrlParameter("fhc_controller_id")
}
})
.done(function(data, textStatus, jqXHR) {
@@ -153,7 +156,9 @@
$.ajax({
url: "<?php echo site_url('system/Filters/selectFields'); ?>",
method: "GET",
data: {},
data: {
fhc_controller_id: getUrlParameter("fhc_controller_id")
},
dataType: "json"
})
.done(function(data, textStatus, jqXHR) {
@@ -13,7 +13,8 @@
url: "<?php echo site_url('system/Filters/addSelectedFilters'); ?>",
method: "POST",
data: {
fieldName: $(this).val()
fieldName: $(this).val(),
fhc_controller_id: getUrlParameter("fhc_controller_id")
}
})
.done(function(data, textStatus, jqXHR) {
@@ -76,7 +77,8 @@
filterNames: selectFilterName,
filterOperations: selectFilterOperation,
filterOperationValues: selectFilterOperationValue,
filterOptions: selectFilterOption
filterOptions: selectFilterOption,
fhc_controller_id: getUrlParameter("fhc_controller_id")
}
})
.done(function(data, textStatus, jqXHR) {
@@ -100,7 +102,8 @@
url: "<?php echo site_url('system/Filters/removeSelectedFilters'); ?>",
method: "POST",
data: {
fieldName: $(this).attr('filterToRemove')
fieldName: $(this).attr('filterToRemove'),
fhc_controller_id: getUrlParameter("fhc_controller_id")
}
})
.done(function(data, textStatus, jqXHR) {
@@ -199,7 +202,9 @@
$.ajax({
url: "<?php echo site_url('system/Filters/selectFilters'); ?>",
method: "GET",
data: {},
data: {
fhc_controller_id: getUrlParameter("fhc_controller_id")
},
dataType: "json"
})
.done(function(data, textStatus, jqXHR) {
@@ -21,7 +21,9 @@
$.ajax({
url: "<?php echo site_url('system/Filters/tableDataset'); ?>",
method: "GET",
data: {},
data: {
fhc_controller_id: getUrlParameter("fhc_controller_id")
},
dataType: "json"
})
.done(function(data, textStatus, jqXHR) {
+58 -18
View File
@@ -29,7 +29,7 @@ class FilterWidget extends Widget
const WIDGET_URL_SELECT_FILTERS = 'widgets/filter/selectFilters';
const WIDGET_URL_SAVE_FILTER = 'widgets/filter/saveFilter';
const SESSION_NAME = 'FILTER';
const SESSION_NAME = 'FHC_FILTER_WIDGET';
const ALL_SELECTED_FIELDS = 'allSelectedFields';
const ALL_COLUMNS_ALIASES = 'allColumnsAliases';
@@ -109,7 +109,7 @@ class FilterWidget extends Widget
public function display($widgetData)
{
//
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
//
if ($this->filterId == null && isset($filterSessionArray[self::FILTER_ID]))
@@ -144,7 +144,7 @@ class FilterWidget extends Widget
//
$selectedFields = array();
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
if (isset($filterSessionArray[self::SELECTED_FIELDS]))
{
$selectedFields = $filterSessionArray[self::SELECTED_FIELDS];
@@ -195,6 +195,7 @@ class FilterWidget extends Widget
$tmpDataset[] = $formattedResult;
}
}
$filterSessionArray[self::DATASET_PARAMETER] = $tmpDataset;
/* ------------------------------------------------------------ */
@@ -204,7 +205,7 @@ class FilterWidget extends Widget
$filterSessionArray[self::METADATA_PARAMETER] = $this->metaData;
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
$this->_writeSession($filterSessionArray);
//
$this->loadViewFilters();
@@ -422,9 +423,11 @@ class FilterWidget extends Widget
{
$filterSessionArray = array();
if (isset($_SESSION[self::SESSION_NAME]))
$session = $this->_readSession();
if (count($session) > 0)
{
$filterSessionArray = $_SESSION[self::SESSION_NAME];
$filterSessionArray = $session;
}
if (!isset($filterSessionArray[self::SELECTED_FIELDS]))
@@ -482,7 +485,7 @@ class FilterWidget extends Widget
$filterSessionArray[self::DATASET_NAME_PARAMETER] = null;
}
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
$this->_writeSession($filterSessionArray);
}
/**
@@ -503,6 +506,7 @@ class FilterWidget extends Widget
$this->hideSave = false;
$this->columnsAliases = null;
$this->filterName = null;
$this->fhc_controller_id = null;
if (!is_array($args) || (is_array($args) && count($args) == 0))
{
@@ -510,6 +514,15 @@ class FilterWidget extends Widget
}
else
{
if (!isset($args['fhc_controller_id']))
{
show_error('Dude you forgot the fhc_controller_id');
}
else
{
$this->fhc_controller_id = $args['fhc_controller_id'];
}
if ((
!isset($args[self::APP_PARAMETER])
&& !isset($args[self::DATASET_NAME_PARAMETER])
@@ -704,7 +717,7 @@ class FilterWidget extends Widget
self::DATASET_NAME_PARAMETER => $filter->retval[0]->dataset_name
);
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
$this->_writeSession($filterSessionArray);
}
else
{
@@ -719,7 +732,7 @@ class FilterWidget extends Widget
self::DATASET_NAME_PARAMETER => null
);
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
$this->_writeSession($filterSessionArray);
}
}
@@ -732,7 +745,7 @@ class FilterWidget extends Widget
{
$objToBeSaved = new stdClass();
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
if (isset($filterSessionArray[self::SELECTED_FIELDS]))
{
@@ -828,7 +841,7 @@ class FilterWidget extends Widget
// Selected fields
$selectedFields = array();
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
if (isset($filterSessionArray[self::SELECTED_FIELDS]))
{
$selectedFields = $filterSessionArray[self::SELECTED_FIELDS];
@@ -844,7 +857,7 @@ class FilterWidget extends Widget
{
$app = $this->app;
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
if (isset($filterSessionArray[self::APP_PARAMETER]))
{
$app = $filterSessionArray[self::APP_PARAMETER];
@@ -860,7 +873,7 @@ class FilterWidget extends Widget
{
$datasetName = $this->datasetName;
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
if (isset($filterSessionArray[self::DATASET_NAME_PARAMETER]))
{
$datasetName = $filterSessionArray[self::DATASET_NAME_PARAMETER];
@@ -877,7 +890,7 @@ class FilterWidget extends Widget
$columnsAliases = $this->columnsAliases;
$selectedFields = array();
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
if (isset($filterSessionArray[self::SELECTED_FIELDS]))
{
@@ -908,7 +921,7 @@ class FilterWidget extends Widget
// Selected filters
$selectedFilters = array();
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
if (isset($filterSessionArray[self::SELECTED_FILTERS]))
{
$selectedFilters = $filterSessionArray[self::SELECTED_FILTERS];
@@ -923,7 +936,7 @@ class FilterWidget extends Widget
private function _setActiveFiltersFromPost(&$activeFilters, &$activeFiltersOperation, &$activeFiltersOption)
{
$selectedFilters = array();
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
if (isset($filterSessionArray[self::ACTIVE_FILTERS]))
{
@@ -994,6 +1007,8 @@ class FilterWidget extends Widget
*/
private function _setSessionFilterData()
{
$session = $this->_readSession();
$filterSessionArray = array(
self::SELECTED_FIELDS => $this->_getSelectedFieldsFromPost(),
self::SELECTED_FILTERS => $this->_getSelectedFiltersFromPost(),
@@ -1016,7 +1031,7 @@ class FilterWidget extends Widget
$filterSessionArray[self::FILTER_ID] = $this->filterId;
$filterSessionArray[self::FILTER_NAME] = $this->filterName;
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
$this->_writeSession(array_merge($session, $filterSessionArray));
}
/**
@@ -1030,7 +1045,7 @@ class FilterWidget extends Widget
$activeFiltersOperation = array();
$activeFiltersOption = array();
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
$filterSessionArray = $this->_readSession();
if (isset($filterSessionArray[self::ACTIVE_FILTERS]))
{
@@ -1143,4 +1158,29 @@ class FilterWidget extends Widget
return $query;
}
/**
*
*/
private function _readSession()
{
if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$this->fhc_controller_id]))
return $_SESSION[self::SESSION_NAME][$this->fhc_controller_id];
return array();
}
/**
*
*/
private function _writeSession($data)
{
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][$this->fhc_controller_id] = $data;
}
}
+1 -1
View File
@@ -11,7 +11,7 @@ class mimetype_widget extends Widget
$data['mimetype'] = '';
$this->load->model('system/Vorlage_model');
$res = $this->Vorlage_model->getMimeTypes();
//var_dump($res);
foreach ($res->retval as $obj)
{
$item = array('name' => $obj->mimetype, 'value' => $obj->mimetype);
@@ -30,7 +30,6 @@
/*float: right; */ /* adjust as needed */
margin: 15px;
color: grey; /* adjust as needed */
}
.panel-heading .accordion-toggle.collapsed:before{
@@ -1,21 +1,29 @@
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
/**
*
*/
function getUrlParameter(sParam)
{
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++)
{
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam)
{
return sParameterName[1];
}
}
}
var fhc_controller_id = getUrlParameter("fhc_controller_id");
/**
* javascript file for infocenterDetails page
*/
$(document).ready(
function ()
{
@@ -71,6 +79,14 @@ $(document).ready(
}
);
//show popup with zgvinfo
$(".zgvinfo").click(function ()
{
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
openZgvInfoForPrestudent(prestudentid);
}
);
//prevent opening modal when Statusgrund not chosen
$(".absageModal").on('show.bs.modal', function (e)
{
@@ -111,7 +127,6 @@ $(document).ready(
}
);
//update notiz - autofill notizform
$(document).on("click", "#notiztable tbody tr", function ()
{
@@ -137,6 +152,15 @@ $(document).ready(
});
function openZgvInfoForPrestudent(prestudent_id)
{
var screenwidth = screen.width;
var popupwidth = 760;
var marginleft = screenwidth - popupwidth;
console.log(marginleft);
window.open("../getZgvInfoForPrestudent/" + prestudent_id, "_blank","resizable=yes,scrollbars=yes,width="+popupwidth+",height="+screen.height+",left="+marginleft);
}
// -----------------------------------------------------------------------------------------------------------------
// ajax calls
@@ -145,7 +169,7 @@ function saveFormalGeprueft(personid, akteid, checked)
$.ajax({
type: "POST",
dataType: "json",
url: "../saveFormalGeprueft/" + personid,
url: "../saveFormalGeprueft/" + personid + '?fhc_controller_id=' + fhc_controller_id,
data: {"akte_id": akteid, "formal_geprueft": checked},
success: function (data, textStatus, jqXHR)
{
@@ -175,7 +199,7 @@ function zgvUebernehmen(personid, prestudentid, btn)
$.ajax({
type: "POST",
dataType: "json",
url: "../getLastPrestudentWithZgvJson/" + personid,
url: "../getLastPrestudentWithZgvJson/" + personid + '?fhc_controller_id=' + fhc_controller_id,
success: function (data, textStatus, jqXHR)
{
if (data !== null)
@@ -215,7 +239,7 @@ function saveZgv(data)
type: "POST",
dataType: "json",
data: data,
url: "../saveZgvPruefung/" + prestudentid,
url: "../saveZgvPruefung/" + prestudentid + '?fhc_controller_id=' + fhc_controller_id,
success: function (data, textStatus, jqXHR)
{
if (data === prestudentid)
@@ -241,7 +265,7 @@ function saveNotiz(personid, data)
type: "POST",
dataType: "json",
data: data,
url: "../saveNotiz/" + personid,
url: "../saveNotiz/" + personid + '?fhc_controller_id=' + fhc_controller_id,
success: function (data, textStatus, jqXHR)
{
refreshNotizen();
@@ -260,7 +284,7 @@ function updateNotiz(notizId, personId, data)
type: "POST",
dataType: "json",
data: data,
url: "../updateNotiz/" + notizId + "/" + personId,
url: "../updateNotiz/" + notizId + "/" + personId + '?fhc_controller_id=' + fhc_controller_id,
success: function (data, textStatus, jqXHR)
{
if (data)
@@ -1,18 +1,3 @@
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* Javascript file for infocenter overview page
*/
@@ -48,7 +33,11 @@ function appendTableActionsHtml()
$.ajax({
url: window.location.pathname.replace('infocenter/InfoCenter', 'Filters/rowNumber'),
method: "GET"
method: "GET",
data: {
fhc_controller_id: getUrlParameter("fhc_controller_id")
},
dataType: "json"
})
.done(function(data, textStatus, jqXHR) {
@@ -72,7 +61,9 @@ function appendTableActionsHtml()
setTableActions();
}
}).fail(function(jqXHR, textStatus, errorThrown) {});
}).fail(function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
});
}
@@ -112,6 +103,27 @@ function setTableActions()
);
}
/**
*
*/
function getUrlParameter(sParam)
{
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++)
{
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam)
{
return sParameterName[1];
}
}
}
/**
* Refreshes the side menu
*/
@@ -120,7 +132,9 @@ function refreshSideMenu()
$.ajax({
url: window.location.pathname+"/setNavigationMenuArray",
method: "GET",
data: {}
data: {
fhc_controller_id: getUrlParameter("fhc_controller_id")
}
})
.done(function(data, textStatus, jqXHR) {
@@ -1,22 +1,3 @@
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* provides helper functions for adding mottie tablesorter
* enables easier configuration of the tablesorter by providing a common default configuration
*/
/**
* adds tablesorter to specified tableid, german date format, default theme
* @param tableid
+1 -1
View File
@@ -34,7 +34,7 @@ else
$projekt_obj = new projekt();
if(isset($_REQUEST['filter']))
{
if($_REQUEST['filter']=='')
if($_REQUEST['filter']=='' || $_REQUEST['filter']=='alle')
$projekt_obj->getProjekte($oe);
if($_REQUEST['filter']=='aktuell')
$projekt_obj->getProjekteAktuell(false, $oe);
+29
View File
@@ -795,6 +795,7 @@ if(!@$db->db_query("SELECT 0 FROM system.tbl_extensions WHERE 0 = 1"))
else
echo '<br>Created table system.tbl_extensions';
// GRANT SELECT ON TABLE system.tbl_extensions TO web;
$qry = 'GRANT SELECT ON TABLE system.tbl_extensions TO web;';
if (!$db->db_query($qry))
@@ -845,6 +846,20 @@ if(!@$db->db_query("SELECT 0 FROM system.tbl_extensions WHERE 0 = 1"))
echo '<br>Altered sequence system.tbl_extensions_id_seq';
}
// Adds primary key to system.tbl_extensions using column extension_id
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_extensions_extension_id'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "ALTER TABLE system.tbl_extensions ADD CONSTRAINT pk_extensions_extension_id PRIMARY KEY (extension_id);";
if (!$db->db_query($qry))
echo '<strong>system.tbl_extensions '.$db->db_last_error().'</strong><br>';
else
echo '<br>system.tbl_extensions: added primary key on column extension_id';
}
}
// UNIQUE INDEX uidx_extensions_name_version
if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'uidx_extensions_name_version'"))
{
@@ -2218,6 +2233,20 @@ if($result = $db->db_query("SELECT view_definition FROM information_schema.views
}
}
// OE_KURZBZ in system.tbl_filters auf 32 Zeichen verlängert
if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='system' AND TABLE_NAME='tbl_filters' AND COLUMN_NAME = 'oe_kurzbz' AND character_maximum_length=16"))
{
if($db->db_num_rows($result)>0)
{
$qry = " ALTER TABLE system.tbl_filters ALTER COLUMN oe_kurzbz TYPE varchar(32)";
if(!$db->db_query($qry))
echo '<strong>system.tbl_filters '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte oe_kurzbz in system.tbl_filters von varchar(16) auf varchar(32) geändert<br>';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';