Added Controller method orderLehrauftrag

This commit is contained in:
Cris
2019-09-12 13:26:29 +02:00
committed by hainberg
parent 6c2cc7412d
commit 0703984fa6
@@ -24,17 +24,27 @@ class Lehrauftrag extends Auth_Controller
// Set required permissions
parent::__construct(
array(
'index' => 'lehre/lehrauftrag_bestellen:r'
'index' => 'lehre/lehrauftrag_bestellen:r',
'orderLehrauftrag' => 'lehre/lehrauftrag_bestellen:rw'
)
);
// Load models
$this->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel');
$this->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$this->load->model('accounting/Vertrag_model', 'VertragModel');
// Load libraries
$this->load->library('WidgetLib');
$this->load->library('PermissionLib');
// Load helpers
$this->load->helper('array');
$this->load->helper('url');
$this->load->helper('hlp_sancho_helper');
// Load language phrases
$this->loadPhrases(
array(
@@ -60,15 +70,12 @@ class Lehrauftrag extends Auth_Controller
$studiengang_kz = ($studiengang_kz == 'null' ? null : $studiengang_kz);
// Retrieve studiengaenge the user is entitled for to populate studiengang dropdown
if (!$studiengang_kz_arr = $this->permissionlib->getSTG_isEntitledFor(self::BERECHTIGUNG_LEHRAUFTRAG_BESTELLEN))
{
if (!$studiengang_kz_arr = $this->permissionlib->getSTG_isEntitledFor(self::BERECHTIGUNG_LEHRAUFTRAG_BESTELLEN)) {
show_error('Fehler bei Berechtigungsprüfung');
}
// 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
{
$studiensemester = $this->StudiensemesterModel->getNext();
@@ -91,6 +98,49 @@ class Lehrauftrag extends Auth_Controller
$this->load->view('lehre/lehrauftrag/lehrauftrag.php', $view_data);
}
public function orderLehrauftrag()
{
$result = array();
$new_lehrvertrag_data_arr = array(); // information of new lehrvertraege to be used in mail
foreach ($_POST as $lehrauftrag)
{
if (!isEmptyArray($lehrauftrag)) {
if ($this->VertragModel->save(
element('Person_ID', $lehrauftrag),
element('LV_ID', $lehrauftrag),
element('LE_ID', $lehrauftrag),
element('PA_ID', $lehrauftrag),
element('Stunden', $lehrauftrag),
element('Betrag', $lehrauftrag),
element('Studiensemester', $lehrauftrag)
)->retval)
{
$result []= array(
'id' => $lehrauftrag['id'],
'Bestellt' => date('Y-m-d')
);
$new_lehrvertrag_data_arr[] = array(
'studiensemester_kurzbz' => $lehrauftrag['Studiensemester'],
'studiengang_kz' => $lehrauftrag['studiengang_kz'],
'lv_oe_kurzbz' => $lehrauftrag['lv_oe_kurzbz']
);
}
}
}
if (!isEmptyArray($result))
{
$this->outputJsonSuccess($result);
}
// Send email to Mitarbeiter
// if(!$this->_sendMail($new_lehrvertrag_data_arr)) // TODO: slows down Bestell-process -> better chronjob?
{
// return error information // TODO: implement after decision regarding communication process
}
}
// -----------------------------------------------------------------------------------------------------------------
// Private methods