mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 01:42:17 +00:00
Added/Extended PERMISSION-checks to Lehrauftraege
Added permission-checks to . navigation . controller methods . tabulator data query . cancel contract
This commit is contained in:
@@ -74,6 +74,15 @@ class Lehrauftrag extends Auth_Controller
|
||||
show_error('Fehler bei Berechtigungsprüfung');
|
||||
}
|
||||
|
||||
// If studiengang_kz get param was set, check against entitled stg
|
||||
if (!is_null($studiengang_kz))
|
||||
{
|
||||
if (!in_array($studiengang_kz, $studiengang_kz_arr))
|
||||
{
|
||||
show_error('Keine Berechtigung für diesen Studiengang');
|
||||
}
|
||||
}
|
||||
|
||||
// Set studiensemester selected for studiengang dropdown
|
||||
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
|
||||
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
|
||||
@@ -123,6 +132,12 @@ class Lehrauftrag extends Auth_Controller
|
||||
$betrag = (isset($lehrauftrag->betrag)) ? $lehrauftrag->betrag : null;
|
||||
$vertrag_betrag = (isset($lehrauftrag->vertrag_betrag)) ? $lehrauftrag->vertrag_betrag : null;
|
||||
$studiensemester_kurzbz = (isset($lehrauftrag->studiensemester_kurzbz)) ? $lehrauftrag->studiensemester_kurzbz : null;
|
||||
$studiengang_kz = (isset($lehrauftrag->studiengang_kz)) ? $lehrauftrag->studiengang_kz : null;
|
||||
|
||||
// Check if user is entitled to order this Lehrauftrag
|
||||
if (!$this->permissionlib->isBerechtigt(self::BERECHTIGUNG_LEHRAUFTRAG_BESTELLEN, 'suid', $studiengang_kz)){
|
||||
show_error('Keine Bestellberechtigung für diesen Studiengang: '. $studiengang_kz);
|
||||
}
|
||||
|
||||
// update contract if contract exists and the betrag was changed
|
||||
$hasChanged = (floatval($betrag) != floatval($vertrag_betrag)) ? true : false;
|
||||
|
||||
@@ -32,6 +32,7 @@ class LehrauftragAkzeptieren extends Auth_Controller
|
||||
$this->load->model('accounting/Vertrag_model', 'VertragModel');
|
||||
$this->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel');
|
||||
$this->load->model('codex/Bisverwendung_model', 'BisverwendungModel');
|
||||
$this->load->model('person/Benutzer_model', 'BenutzerModel');
|
||||
|
||||
// Load libraries
|
||||
$this->load->library('WidgetLib');
|
||||
@@ -122,15 +123,42 @@ class LehrauftragAkzeptieren extends Auth_Controller
|
||||
|
||||
// Loop through lehraufträge
|
||||
$lehrauftrag_arr = $this->input->post('selected_data');
|
||||
|
||||
if(is_array($lehrauftrag_arr))
|
||||
{
|
||||
foreach($lehrauftrag_arr as $lehrauftrag)
|
||||
{
|
||||
$mitarbeiter_uid = (!is_null($lehrauftrag['mitarbeiter_uid'])) ? $lehrauftrag['mitarbeiter_uid'] : null;
|
||||
$vertrag_id = (!is_null($lehrauftrag['vertrag_id'])) ? $lehrauftrag['vertrag_id'] : null;
|
||||
|
||||
// Check if user is entitled to accept this Lehrauftrag
|
||||
// * first retrieve person_id of the contract
|
||||
$this->VertragModel->addSelect('person_id');
|
||||
|
||||
if ($result = getData($this->VertragModel->load($vertrag_id)))
|
||||
{
|
||||
// * then find the uid of that contracts person_id
|
||||
$this->BenutzerModel->addSelect('uid');
|
||||
|
||||
if ($result = getData($this->BenutzerModel->getFromPersonId($result[0]->person_id)))
|
||||
{
|
||||
// * finally check uid of contract against the logged in user
|
||||
if ($result[0]->uid != $this->_uid)
|
||||
{
|
||||
show_error('Keine Berechtigung für diesen Vertrag');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error($result->retval);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
// Set status to accepted
|
||||
$result = $this->VertragModel->setStatus($vertrag_id, $mitarbeiter_uid, 'akzeptiert');
|
||||
$result = $this->VertragModel->setStatus($vertrag_id, $this->_uid, 'akzeptiert');
|
||||
|
||||
if ($result->retval)
|
||||
{
|
||||
|
||||
@@ -75,6 +75,15 @@ class LehrauftragErteilen extends Auth_Controller
|
||||
show_error('Fehler bei Berechtigungsprüfung');
|
||||
}
|
||||
|
||||
// If oe_kurzbz get param was set, check against entitled stg
|
||||
if (!is_null($oe_kurzbz))
|
||||
{
|
||||
if (!in_array($oe_kurzbz, $oe_kurzbz_arr))
|
||||
{
|
||||
show_error('Keine Berechtigung für diese Organisationseinheit');
|
||||
}
|
||||
}
|
||||
|
||||
// Set studiensemester selected for studiengang dropdown
|
||||
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
|
||||
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
|
||||
@@ -118,6 +127,12 @@ class LehrauftragErteilen extends Auth_Controller
|
||||
{
|
||||
$mitarbeiter_uid = (isset($lehrauftrag->mitarbeiter_uid)) ? $lehrauftrag->mitarbeiter_uid : null;
|
||||
$vertrag_id = (isset($lehrauftrag->vertrag_id)) ? $lehrauftrag->vertrag_id : null;
|
||||
$lv_oe_kurzbz = (isset($lehrauftrag->lv_oe_kurzbz)) ? $lehrauftrag->lv_oe_kurzbz : null;
|
||||
|
||||
// Check if user is entitled to approve this Lehrauftrag
|
||||
if (!$this->permissionlib->isBerechtigt(self::BERECHTIGUNG_LEHRAUFTRAG_ERTEILEN, 'suid', $lv_oe_kurzbz)){
|
||||
show_error('Keine Erteilberechtigung für diese Organisationseinheit: '. $lv_oe_kurzbz);
|
||||
}
|
||||
|
||||
$result = $this->VertragModel->setStatus($vertrag_id, $mitarbeiter_uid, 'erteilt');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user