actions new, update and delete aufnahmetermine

This commit is contained in:
ma0068
2025-04-25 16:15:27 +02:00
parent 2ab01132b1
commit bf0cd8e8e3
6 changed files with 556 additions and 161 deletions
@@ -14,6 +14,9 @@ class Aufnahmetermine extends FHCAPI_Controller
'insertAufnahmetermin' => ['admin:rw', 'assistenz:rw'],
'updateAufnahmetermin' => ['admin:rw', 'assistenz:rw'],
'deleteAufnahmetermin' => ['admin:rw', 'assistenz:rw'],
'getListPlacementTests' => ['admin:rw', 'assistenz:rw'],
'getListStudyPlans' => ['admin:rw', 'assistenz:rw'],
]);
// Load Libraries
@@ -23,11 +26,12 @@ class Aufnahmetermine extends FHCAPI_Controller
// Load language phrases
$this->loadPhrases([
'ui',
'mobility'
'admission'
]);
// Load models
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
$this->load->model('crm/RtPerson_model', 'RtPersonModel');
}
public function getAufnahmetermine($person_id)
@@ -44,106 +48,62 @@ class Aufnahmetermine extends FHCAPI_Controller
$this->load->library('form_validation');
$authUID = getAuthUID();
$student_uid = $this->input->post('uid');
$formData = $this->input->post('formData');
$person_id = $this->input->post('person_id');
if(!$student_uid)
if(!$person_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Student UID']), self::ERROR_TYPE_GENERAL);
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Person ID']), self::ERROR_TYPE_GENERAL);
}
$formData = $this->input->post('formData');
$_POST['von'] = (isset($formData['von']) && !empty($formData['von'])) ? $formData['von'] : null;
$_POST['bis'] = (isset($formData['bis']) && !empty($formData['bis'])) ? $formData['bis'] : null;
$_POST['nation_code'] = (isset($formData['nation_code']) && !empty($formData['nation_code'])) ? $formData['nation_code'] : 'A';
$_POST['mobilitaetsprogramm_code'] = (isset($formData['mobilitaetsprogramm_code']) && !empty($formData['mobilitaetsprogramm_code'])) ? $formData['mobilitaetsprogramm_code'] : null;
$_POST['herkunftsland_code'] = (isset($formData['herkunftsland_code']) && !empty($formData['herkunftsland_code'])) ? $formData['herkunftsland_code'] : 'A';
$_POST['ects_erworben'] = (isset($formData['ects_erworben']) && !empty($formData['ects_erworben'])) ? $formData['ects_erworben'] : null;
$_POST['ects_angerechnet'] = (isset($formData['ects_angerechnet']) && !empty($formData['ects_angerechnet'])) ? $formData['ects_angerechnet'] : null;
$_POST['lehreinheit_id'] = (isset($formData['lehreinheit_id']) && !empty($formData['lehreinheit_id'])) ? $formData['lehreinheit_id'] : null;
$this->form_validation->set_rules('nation_code', 'Nation_code', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Nation_code'])
$_POST['rt_id'] = (isset($formData['rt_id']) && !empty($formData['rt_id'])) ? $formData['rt_id'] : null;
$_POST['anmeldedatum'] = (isset($formData['anmeldedatum']) && !empty($formData['anmeldedatum'])) ? $formData['anmeldedatum'] : null;
$_POST['teilgenommen'] = (isset($formData['teilgenommen']) && !empty($formData['teilgenommen'])) ? $formData['teilgenommen'] : false;
$_POST['studienplan_id'] = (isset($formData['studienplan_id']) && !empty($formData['studienplan_id'])) ? $formData['studienplan_id'] : null;
$_POST['punkte'] = (isset($formData['punkte']) && !empty($formData['punkte'])) ? $formData['punkte'] : null;
$this->form_validation->set_rules('punkte', 'Punkte', 'numeric', [
'required' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Punkte'])
]);
$this->form_validation->set_rules('herkunftsland_code', 'Herkunftsland_code', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Herkunftsland_code'])
$this->form_validation->set_rules('studienplan_id', 'studienplan_id', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Studienplan'])
]);
$this->form_validation->set_rules('mobilitaetsprogramm_code', 'Mobilitaetsprogramm_code', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Mobilitaetsprogramm_code'])
]);
$this->form_validation->set_rules('von', 'VonDatum', 'is_valid_date', [
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'VonDatum'])
$this->form_validation->set_rules('rt_id', 'Reihungstest_id', 'required', [
'is_valid_date' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Reihungstest'])
]);
$this->form_validation->set_rules('bis', 'VBisDatum', 'is_valid_date', [
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'VBisDatum'])
$this->form_validation->set_rules('anmeldedatum', 'AnmeldeDatum', 'is_valid_date', [
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'Anmeldedatum'])
]);
$this->form_validation->set_rules('ects_erworben', 'Ects_erworben', 'numeric', [
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Ects_erworben'])
]);
$this->form_validation->set_rules('ects_angerechnet', 'Ects_angerechnet', 'numeric', [
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Ects_angerechnet'])
]);
$this->form_validation->set_rules('lehreinheit_id', 'Lehreinheit', 'numeric', [
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Lehreinheit'])
]);
if ($this->form_validation->run() == false)
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$ort = (isset($formData['ort']) && !empty($formData['ort'])) ? $formData['ort'] : null;
$universitaet = (isset($formData['universitaet']) && !empty($formData['universitaet'])) ? $formData['universitaet'] : null;
$localPurposes = (isset($formData['localPurposes']) && !empty($formData['localPurposes'])) ? $formData['localPurposes'] : null;
$localSupports = (isset($formData['localSupports']) && !empty($formData['localSupports'])) ? $formData['localSupports'] : null;
$result = $this->BisioModel->insert([
'student_uid' => $student_uid,
'von' => $_POST['von'],
'bis' => $_POST['bis'],
'mobilitaetsprogramm_code' => $_POST['mobilitaetsprogramm_code'],
'nation_code' => $_POST['nation_code'],
'herkunftsland_code' => $_POST['herkunftsland_code'],
'lehreinheit_id' => $_POST['lehreinheit_id'],
'ort' => $ort,
'universitaet' => $universitaet,
'ects_erworben' => $_POST['ects_erworben'] ,
'ects_angerechnet' => $_POST['ects_angerechnet'],
$result = $this->RtPersonModel->insert([
'person_id' => $person_id,
'rt_id' => $_POST['rt_id'],
'anmeldedatum' => $_POST['anmeldedatum'],
'teilgenommen' => $_POST['teilgenommen'],
'studienplan_id' => $_POST['studienplan_id'],
'punkte' => $_POST['punkte'],
'insertamum' => date('c'),
'insertvon' => $authUID,
]);
$aufnahmetermin_id = $this->getDataOrTerminateWithError($result);
$data = $this->getDataOrTerminateWithError($result);
//check if localData (purposes)
if(count($localPurposes) > 0){
foreach ($localPurposes as $zweck){
$zweck = (int)$zweck;
$this->addAufnahmeterminPurpose($aufnahmetermin_id, $zweck);
}
}
//check if localData (supports)
if(count($localSupports) > 0){
foreach ($localSupports as $support){
$this->addAufnahmeterminSupport($aufnahmetermin_id, $support);
}
}
$this->terminateWithSuccess($aufnahmetermin_id);
$this->terminateWithSuccess($data);
}
public function loadAufnahmetermin($aufnahmetermin_id)
public function loadAufnahmetermin($rt_person_id)
{
$this->BisioModel->addSelect("*");
$this->BisioModel->addJoin('bis.tbl_mobilitaetsprogramm mp', 'ON (mp.mobilitaetsprogramm_code = bis.tbl_bisio.mobilitaetsprogramm_code)', 'LEFT');
$this->BisioModel->addJoin('lehre.tbl_lehreinheit le', 'ON (le.lehreinheit_id = bis.tbl_bisio.lehreinheit_id)','LEFT');
$result = $this->BisioModel->loadWhere(
array('aufnahmetermin_id' => $aufnahmetermin_id)
$result = $this->RtPersonModel->loadWhere(
array('rt_person_id' => $rt_person_id)
);
$data = $this->getDataOrTerminateWithError($result);
@@ -152,118 +112,96 @@ class Aufnahmetermine extends FHCAPI_Controller
public function updateAufnahmetermin()
{
$this->load->library('form_validation');
$authUID = getAuthUID();
$student_uid = $this->input->post('uid');
if(!$student_uid)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Student UID']), self::ERROR_TYPE_GENERAL);
}
$formData = $this->input->post('formData');
$rt_person_id = $this->input->post('rt_person_id');
$person_id = (isset($formData['person_id']) && !empty($formData['person_id'])) ? $formData['person_id'] : null;
$_POST['von'] = (isset($formData['von']) && !empty($formData['von'])) ? $formData['von'] : null;
$_POST['bis'] = (isset($formData['bis']) && !empty($formData['bis'])) ? $formData['bis'] : null;
$_POST['nation_code'] = (isset($formData['nation_code']) && !empty($formData['nation_code'])) ? $formData['nation_code'] : 'A';
$_POST['mobilitaetsprogramm_code'] = (isset($formData['mobilitaetsprogramm_code']) && !empty($formData['mobilitaetsprogramm_code'])) ? $formData['mobilitaetsprogramm_code'] : null;
$_POST['herkunftsland_code'] = (isset($formData['herkunftsland_code']) && !empty($formData['herkunftsland_code'])) ? $formData['herkunftsland_code'] : 'A';
$_POST['ects_erworben'] = (isset($formData['ects_erworben']) && !empty($formData['ects_erworben'])) ? $formData['ects_erworben'] : null;
$_POST['ects_angerechnet'] = (isset($formData['ects_angerechnet']) && !empty($formData['ects_angerechnet'])) ? $formData['ects_angerechnet'] : null;
$_POST['lehreinheit_id'] = (isset($formData['lehreinheit_id']) && !empty($formData['lehreinheit_id'])) ? $formData['lehreinheit_id'] : null;
$this->form_validation->set_rules('nation_code', 'Nation_code', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Nation_code'])
if(!$person_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Person ID']), self::ERROR_TYPE_GENERAL);
}
if(!$rt_person_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'RT_Person ID']), self::ERROR_TYPE_GENERAL);
}
$_POST['rt_id'] = (isset($formData['rt_id']) && !empty($formData['rt_id'])) ? $formData['rt_id'] : null;
$_POST['anmeldedatum'] = (isset($formData['anmeldedatum']) && !empty($formData['anmeldedatum'])) ? $formData['anmeldedatum'] : null;
$_POST['teilgenommen'] = (isset($formData['teilgenommen']) && !empty($formData['teilgenommen'])) ? $formData['teilgenommen'] : false;
$_POST['studienplan_id'] = (isset($formData['studienplan_id']) && !empty($formData['studienplan_id'])) ? $formData['studienplan_id'] : null;
$_POST['punkte'] = (isset($formData['punkte']) && !empty($formData['punkte'])) ? $formData['punkte'] : null;
$this->form_validation->set_rules('punkte', 'Punkte', 'numeric', [
'required' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Punkte'])
]);
$this->form_validation->set_rules('herkunftsland_code', 'Herkunftsland_code', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Herkunftsland_code'])
$this->form_validation->set_rules('studienplan_id', 'studienplan_id', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Studienplan'])
]);
$this->form_validation->set_rules('mobilitaetsprogramm_code', 'Mobilitaetsprogramm_code', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Mobilitaetsprogramm_code'])
]);
$this->form_validation->set_rules('von', 'VonDatum', 'is_valid_date', [
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'VonDatum'])
$this->form_validation->set_rules('rt_id', 'Reihungstest_id', 'required', [
'is_valid_date' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Reihungstest'])
]);
$this->form_validation->set_rules('bis', 'VBisDatum', 'is_valid_date', [
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'VBisDatum'])
$this->form_validation->set_rules('anmeldedatum', 'AnmeldeDatum', 'is_valid_date', [
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'Anmeldedatum'])
]);
$this->form_validation->set_rules('ects_erworben', 'Ects_erworben', 'numeric', [
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Ects_erworben'])
]);
$this->form_validation->set_rules('ects_angerechnet', 'Ects_angerechnet', 'numeric', [
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Ects_angerechnet'])
]);
$this->form_validation->set_rules('lehreinheit_id', 'Lehreinheit', 'numeric', [
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Lehreinheit'])
]);
if ($this->form_validation->run() == false)
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$result = $this->BisioModel->update(
$result = $this->RtPersonModel->update(
[
'aufnahmetermin_id' => $formData['aufnahmetermin_id']
'rt_person_id' => $rt_person_id,
'person_id' => $person_id,
],
[
'student_uid' => $student_uid,
'von' => $_POST['von'],
'bis' => $_POST['bis'],
'mobilitaetsprogramm_code' => $_POST['mobilitaetsprogramm_code'],
'nation_code' => $_POST['nation_code'],
'herkunftsland_code' => $_POST['herkunftsland_code'],
'lehreinheit_id' => $_POST['lehreinheit_id'],
'ort' => $formData['ort'],
'universitaet' => $formData['universitaet'],
'ects_erworben' => $_POST['ects_erworben'] ,
'ects_angerechnet' => $_POST['ects_angerechnet'],
'updateamum' => date('c'),
'updatevon' => $authUID,
]
);
'rt_id' => $_POST['rt_id'],
'anmeldedatum' => $_POST['anmeldedatum'],
'teilgenommen' => $_POST['teilgenommen'],
'studienplan_id' => $_POST['studienplan_id'],
'punkte' => $_POST['punkte'],
'insertamum' => date('c'),
'insertvon' => $authUID,
]);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess(current($data));
$this->terminateWithSuccess($data);
}
public function deleteAufnahmetermin($aufnahmetermin_id)
public function deleteAufnahmetermin($rt_person_id)
{
//check if extension table exists
$result = $this->BisioModel->tableExists('extension', 'tbl_mo_bisioidzuordnung');
$data = $this->getDataOrTerminateWithError($result);
//if table exists check if existing entry
if(!empty($data))
{
$this->BisioModel->addSelect("count(*)");
$this->BisioModel->addJoin('extension.tbl_mo_bisioidzuordnung mo', 'ON (mo.aufnahmetermin_id = bis.tbl_bisio.aufnahmetermin_id)', 'LEFT');
$resultCheckMo = $this->BisioModel->loadWhere(
array('mo.aufnahmetermin_id' => $aufnahmetermin_id)
);
$resultCheckMo = $this->getDataOrTerminateWithError($resultCheckMo);
$count = current($resultCheckMo)->count;
$existsInExtension = $count > 0 ? true : false;
if($existsInExtension)
$this->terminateWithError($this->p->t('mobility', 'error_existingEntryInExtension'), self::ERROR_TYPE_GENERAL);
}
$result = $this->BisioModel->delete(
array('aufnahmetermin_id' => $aufnahmetermin_id)
$result = $this->RtPersonModel->delete(
array('rt_person_id' => $rt_person_id)
);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
public function getListPlacementTests()
{
$result = $this->ReihungstestModel->getAllReihungstests();
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
public function getListStudyPlans($person_id)
{
$this->load->model('organisation/Studienplan_model','StudienplanModel');
$result = $this->StudienplanModel->getStudienplaeneForPerson($person_id);;
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
}