mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
refactor setFunctions and processStudentlehrverband
This commit is contained in:
@@ -86,15 +86,15 @@ class Status extends FHCAPI_Controller
|
||||
if (!$this->form_validation->run())
|
||||
$this->terminateWithValidationErrors($this->form_validation->error_array());
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (defined('VORRUECKUNG_STATUS_MAX_SEMESTER') && VORRUECKUNG_STATUS_MAX_SEMESTER == false)
|
||||
$this->terminateWithSuccess(100);
|
||||
|
||||
$this->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
|
||||
|
||||
|
||||
$result = $this->LehrverbandModel->getMaxSemester($studiengang_kzs);
|
||||
|
||||
|
||||
$maxsem = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->terminateWithSuccess($maxsem ? current($maxsem)->maxsem : 10);
|
||||
@@ -133,7 +133,7 @@ class Status extends FHCAPI_Controller
|
||||
public function isErsterStudent($prestudent_id)
|
||||
{
|
||||
//check if studentrolle already exists
|
||||
$this->load->model('crm/Student_model','StudentModel');
|
||||
$this->load->model('crm/Student_model', 'StudentModel');
|
||||
$result = $this->StudentModel->checkIfExistingStudentRolle($prestudent_id);
|
||||
if (isError($result))
|
||||
{
|
||||
@@ -144,7 +144,6 @@ class Status extends FHCAPI_Controller
|
||||
return $this->terminateWithSuccess($result);
|
||||
}
|
||||
return $this->terminateWithSuccess($result);
|
||||
|
||||
}
|
||||
|
||||
public function hasStatusBewerber($prestudent_id)
|
||||
@@ -200,11 +199,10 @@ class Status extends FHCAPI_Controller
|
||||
$lastStatusData = $this->getDataOrTerminateWithError($result);
|
||||
$lastStatusData = current($lastStatusData);
|
||||
|
||||
//TODO(Manu) check phrase: why bewerbung?
|
||||
if (!$isBerechtigtBasisPrestudentstatus)
|
||||
$this->form_validation->set_rules(
|
||||
'bewerbung_abgeschicktamum',
|
||||
$this->p->t('lehre', 'bewerbung_abgeschickt_am'),
|
||||
'berechtigt',
|
||||
$this->p->t('ui', 'nurLeseberechtigung'),
|
||||
'is_null',
|
||||
[
|
||||
'is_null' => $this->p->t('ui', 'error_fieldWriteAccess')
|
||||
@@ -253,7 +251,7 @@ class Status extends FHCAPI_Controller
|
||||
return true;
|
||||
$result = $this->prestudentstatuschecklib->checkIfAngetreten($prestudent_person);
|
||||
return $this->getDataOrTerminateWithError($result);
|
||||
}],
|
||||
}],
|
||||
//Check ZGV
|
||||
['checkIfZGV', function ($value) use ($prestudent_person) {
|
||||
if (!ZGV_CHECK)
|
||||
@@ -274,7 +272,7 @@ class Status extends FHCAPI_Controller
|
||||
}],
|
||||
//Check Bewerberstatus
|
||||
[
|
||||
'checkIfExistingBewerberstatus', function () use ($prestudent_id, $status_kurzbz) {
|
||||
'checkIfExistingBewerberstatus', function () use ($prestudent_id, $status_kurzbz) {
|
||||
if ($status_kurzbz != Prestudentstatus_model::STATUS_AUFGENOMMENER &&
|
||||
$status_kurzbz != Prestudentstatus_model::STATUS_WARTENDER &&
|
||||
$status_kurzbz != Prestudentstatus_model::STATUS_ABGEWIESENER)
|
||||
@@ -297,9 +295,9 @@ class Status extends FHCAPI_Controller
|
||||
'checkIfZGV' => $this->p->t('lehre', 'error_ZGVNichtEingetragen', ['name' => $studentName]),
|
||||
'checkIfZGVMaster' => $this->p->t('lehre', 'error_ZGVMasterNichtEingetragen', ['name' => $studentName]),
|
||||
'status_stud_exists' => $this->p->t('lehre', 'error_noStudstatus')
|
||||
]
|
||||
]
|
||||
);
|
||||
|
||||
|
||||
if ($status_kurzbz == Prestudentstatus_model::STATUS_STUDENT)
|
||||
$this->form_validation->set_rules('ausbildungssemester', $this->p->t('lehre', 'ausbildungssemester'), 'required|integer', [
|
||||
'integer' => $this->p->t('ui', 'error_fieldNotInteger')
|
||||
@@ -647,11 +645,10 @@ class Status extends FHCAPI_Controller
|
||||
|
||||
$isBerechtigtBasisPrestudentstatus = $this->permissionlib->isBerechtigt('basis/prestudentstatus');
|
||||
|
||||
//TODO(Manu) check phrase: why bewerbung?
|
||||
if (!$isBerechtigtBasisPrestudentstatus)
|
||||
$this->form_validation->set_rules(
|
||||
'bewerbung_abgeschicktamum',
|
||||
$this->p->t('lehre', 'bewerbung_abgeschickt_am'),
|
||||
'berechtigt',
|
||||
$this->p->t('ui', 'nurLeseberechtigung'),
|
||||
'is_null',
|
||||
[
|
||||
'is_null' => $this->p->t('ui', 'error_fieldWriteAccess')
|
||||
@@ -842,25 +839,25 @@ class Status extends FHCAPI_Controller
|
||||
//Default: keine Matrikelnummer wird generiert
|
||||
|
||||
//(2) personenkz = uid
|
||||
/* if (defined('SET_UID_AS_PERSONENKENNZEICHEN') && SET_UID_AS_PERSONENKENNZEICHEN) {
|
||||
$matrikelnr = $uidStudent;
|
||||
}*/
|
||||
/* if (defined('SET_UID_AS_PERSONENKENNZEICHEN') && SET_UID_AS_PERSONENKENNZEICHEN) {
|
||||
$matrikelnr = $uidStudent;
|
||||
}*/
|
||||
|
||||
//(3) Matrikelnummer = uid
|
||||
/* if (defined('SET_UID_AS_MATRIKELNUMMER') && SET_UID_AS_MATRIKELNUMMER) {
|
||||
//update person
|
||||
$result = $this->PersonModel->update(
|
||||
[
|
||||
'person_id' => $person_id,
|
||||
],
|
||||
[
|
||||
'matr_nr' => $uidStudent,
|
||||
]
|
||||
);
|
||||
if (isError($result)) {
|
||||
return $this->terminateWithError("uidAsMatrikelnummer" . getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
}*/
|
||||
/* if (defined('SET_UID_AS_MATRIKELNUMMER') && SET_UID_AS_MATRIKELNUMMER) {
|
||||
//update person
|
||||
$result = $this->PersonModel->update(
|
||||
[
|
||||
'person_id' => $person_id,
|
||||
],
|
||||
[
|
||||
'matr_nr' => $uidStudent,
|
||||
]
|
||||
);
|
||||
if (isError($result)) {
|
||||
return $this->terminateWithError("uidAsMatrikelnummer" . getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
}*/
|
||||
|
||||
//add benutzerdatensatz mit Aktierungscode
|
||||
$this->load->model('person/Benutzer_model', 'BenutzerModel');
|
||||
@@ -1695,9 +1692,9 @@ class Status extends FHCAPI_Controller
|
||||
|
||||
$this->form_validation->set_rules('status_kurzbz', $this->p->t('lehre', 'status_rolle'), [
|
||||
'in_list[' .
|
||||
Prestudentstatus_model::STATUS_STUDENT . ',' .
|
||||
Prestudentstatus_model::STATUS_DIPLOMAND . ',' .
|
||||
Prestudentstatus_model::STATUS_UNTERBRECHER . ']',
|
||||
Prestudentstatus_model::STATUS_STUDENT . ',' .
|
||||
Prestudentstatus_model::STATUS_DIPLOMAND . ',' .
|
||||
Prestudentstatus_model::STATUS_UNTERBRECHER . ']',
|
||||
['status_stud_exists', function ($value) use ($prestudent_id) {
|
||||
if ($value != Prestudentstatus_model::STATUS_STUDENT)
|
||||
return true;
|
||||
@@ -1886,7 +1883,7 @@ class Status extends FHCAPI_Controller
|
||||
|
||||
//Send Message
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
|
||||
|
||||
$this->PrestudentModel->addSelect('p.*');
|
||||
$this->PrestudentModel->addSelect('stg.oe_kurzbz');
|
||||
$this->PrestudentModel->addSelect('stg.bezeichnung AS stg_bezeichnung');
|
||||
@@ -1898,7 +1895,7 @@ class Status extends FHCAPI_Controller
|
||||
$this->PrestudentModel->addJoin('public.tbl_studiengang stg', 'studiengang_kz');
|
||||
$this->PrestudentModel->addJoin('public.tbl_studiengangstyp typ', 'typ');
|
||||
$this->PrestudentModel->addJoin('public.tbl_studienplan plan', 'studienplan_id', 'LEFT');
|
||||
|
||||
|
||||
$result = $this->PrestudentModel->load($prestudent_id);
|
||||
|
||||
$studentdata = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
@@ -88,51 +88,20 @@ class PrestudentLib
|
||||
if (isError($result))
|
||||
return $result;
|
||||
|
||||
|
||||
//Verband anlegen
|
||||
$result = $this->_ci->LehrverbandModel->load([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => 'A',
|
||||
'gruppe' => ''
|
||||
]);
|
||||
//refactored with processStudentlehrverband
|
||||
$result = $this->_ci->StudentlehrverbandModel->processStudentlehrverband(
|
||||
$student->student_uid,
|
||||
$student->studiengang_kz,
|
||||
0,
|
||||
'A',
|
||||
'',
|
||||
$studiensemester_kurzbz,
|
||||
Prestudentstatus_model::STATUS_ABBRECHER
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
return $result;
|
||||
$result = getData($result);
|
||||
if (!$result)
|
||||
{
|
||||
$result = $this->_ci->LehrverbandModel->load([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => '',
|
||||
'gruppe' => ''
|
||||
]);
|
||||
if (isError($result))
|
||||
return $result;
|
||||
$result = getData($result);
|
||||
|
||||
if(!$result)
|
||||
{
|
||||
$this->_ci->LehrverbandModel->insert([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => '',
|
||||
'gruppe' => '',
|
||||
'bezeichnung' => 'Ab-Unterbrecher',
|
||||
'aktiv' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
$this->_ci->LehrverbandModel->insert([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => 'A',
|
||||
'gruppe' => '',
|
||||
'bezeichnung' => 'Abbrecher',
|
||||
'aktiv' => true
|
||||
]);
|
||||
}
|
||||
|
||||
//noch nicht eingetragene Zeugnisnoten auf 9 setzen
|
||||
$result = $this->_ci->ZeugnisnoteModel->getZeugnisnoten($student->student_uid, $prestudent_status->studiensemester_kurzbz);
|
||||
@@ -165,33 +134,6 @@ class PrestudentLib
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Update Aktionen
|
||||
|
||||
//StudentModel updaten
|
||||
$this->_ci->StudentModel->update([
|
||||
'student_uid' => $student->student_uid
|
||||
], [
|
||||
'verband' => 'A',
|
||||
'gruppe' => '',
|
||||
'semester' => 0,
|
||||
'updatevon' => $insertvon,
|
||||
'updateamum' => date('c')
|
||||
]);
|
||||
|
||||
//Studentlehrverband setzen
|
||||
$this->_ci->StudentlehrverbandModel->update([
|
||||
'studiensemester_kurzbz' => $prestudent_status->studiensemester_kurzbz,
|
||||
'student_uid' => $student->student_uid
|
||||
], [
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => 'A',
|
||||
'gruppe' => '',
|
||||
'updateamum' => date('c'),
|
||||
'updatevon' => $insertvon
|
||||
]);
|
||||
|
||||
//Benutzer inaktiv setzen
|
||||
$this->_ci->BenutzerModel->update([
|
||||
'uid' => $student->student_uid
|
||||
@@ -298,50 +240,19 @@ class PrestudentLib
|
||||
if (isError($result))
|
||||
return $result;
|
||||
|
||||
//Verband anlegen
|
||||
$result = $this->_ci->LehrverbandModel->load([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => 'B',
|
||||
'gruppe' => ''
|
||||
]);
|
||||
//refactored with processStudentlehrverband
|
||||
$result = $this->_ci->StudentlehrverbandModel->processStudentlehrverband(
|
||||
$student->student_uid,
|
||||
$student->studiengang_kz,
|
||||
0,
|
||||
'B',
|
||||
'',
|
||||
$studiensemester_kurzbz,
|
||||
Prestudentstatus_model::STATUS_UNTERBRECHER
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
return $result;
|
||||
$result = getData($result);
|
||||
if (!$result)
|
||||
{
|
||||
$result = $this->_ci->LehrverbandModel->load([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => '',
|
||||
'gruppe' => ''
|
||||
]);
|
||||
if (isError($result))
|
||||
return $result;
|
||||
$result = getData($result);
|
||||
|
||||
if(!$result)
|
||||
{
|
||||
$this->_ci->LehrverbandModel->insert([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => '',
|
||||
'gruppe' => '',
|
||||
'bezeichnung' => 'Ab-Unterbrecher',
|
||||
'aktiv' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
$this->_ci->LehrverbandModel->insert([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => 'B',
|
||||
'gruppe' => '',
|
||||
'bezeichnung' => 'Unterbrecher',
|
||||
'aktiv' => true
|
||||
]);
|
||||
}
|
||||
|
||||
//noch nicht eingetragene Zeugnisnoten auf 9 setzen
|
||||
$result = $this->_ci->ZeugnisnoteModel->getZeugnisnoten($student->student_uid, $studiensemester_kurzbz);
|
||||
@@ -374,56 +285,11 @@ class PrestudentLib
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Update Aktionen
|
||||
|
||||
//StudentModel updaten
|
||||
$this->_ci->StudentModel->update([
|
||||
'student_uid' => $student->student_uid
|
||||
], [
|
||||
'verband' => 'B',
|
||||
'gruppe' => '',
|
||||
'semester' => 0,
|
||||
'updatevon' => $insertvon,
|
||||
'updateamum' => date('c')
|
||||
]);
|
||||
|
||||
//Studentlehrverband setzen
|
||||
$result = $this->_ci->StudentlehrverbandModel->loadWhere([
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'student_uid' => $student->student_uid
|
||||
]);
|
||||
if (hasData($result)) {
|
||||
$this->_ci->StudentlehrverbandModel->update([
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'student_uid' => $student->student_uid
|
||||
], [
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => 'B',
|
||||
'gruppe' => '',
|
||||
'updateamum' => date('c'),
|
||||
'updatevon' => $insertvon
|
||||
]);
|
||||
} else {
|
||||
$this->_ci->StudentlehrverbandModel->insert([
|
||||
'student_uid' => $student->student_uid,
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => 0,
|
||||
'verband' => 'B',
|
||||
'gruppe' => '',
|
||||
'insertamum' => date('c'),
|
||||
'insertvon' => $insertvon
|
||||
]);
|
||||
}
|
||||
|
||||
return success();
|
||||
}
|
||||
|
||||
public function setStudent($prestudent_id, $studiensemester_kurzbz, $ausbildungssemester, $statusgrund_id)
|
||||
{
|
||||
|
||||
$result = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
if (isError($result))
|
||||
return $result;
|
||||
@@ -445,7 +311,7 @@ class PrestudentLib
|
||||
|
||||
$studiengang = current(getData($resultStg));
|
||||
|
||||
$prestudent_status = ($resultStatus[0]);
|
||||
$prestudent_status = ($resultStatus[0] ?: null );
|
||||
if(!$prestudent_status)
|
||||
{
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_prestudent_in_sem', [
|
||||
@@ -463,7 +329,7 @@ class PrestudentLib
|
||||
if (!$result)
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_student_for_prestudent', ['prestudent_id' => $prestudent_id]));
|
||||
|
||||
$student = current($result);
|
||||
// $student = current($result);
|
||||
|
||||
//Status updaten
|
||||
$result = $this->_ci->PrestudentstatusModel->insert([
|
||||
@@ -488,7 +354,8 @@ class PrestudentLib
|
||||
if (isError($result)) {
|
||||
return $result;
|
||||
}
|
||||
$student_uid = $result->retval;
|
||||
//$student_uid = $result->retval;
|
||||
$student_uid = getData($result);
|
||||
|
||||
//load student
|
||||
$result = $this->_ci->StudentModel->loadWhere(
|
||||
@@ -502,8 +369,9 @@ class PrestudentLib
|
||||
}
|
||||
|
||||
$studentData = current(getData($result) ? : []);
|
||||
$verband = $studentData->verband == '' ? '' : $studentData->verband;
|
||||
$gruppe = $studentData->gruppe == '' ? '' : $studentData->gruppe;
|
||||
//TODO(Manu) check why in FAS == 0; correct there??
|
||||
//$verband = $studentData->verband == '' ? '' : $studentData->verband;
|
||||
//$gruppe = $studentData->gruppe == '' ? '' : $studentData->gruppe;
|
||||
$studiengang_kz = $studentData->studiengang_kz;
|
||||
|
||||
//process studentlehrverband
|
||||
@@ -512,11 +380,16 @@ class PrestudentLib
|
||||
$student_uid,
|
||||
$studiengang_kz,
|
||||
$ausbildungssemester,
|
||||
$verband,
|
||||
$gruppe,
|
||||
"", //TODO(Manu) checkFAS: 0
|
||||
"",//TODO(Manu) checkFAS: 0
|
||||
$studiensemester_kurzbz
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
return $result;
|
||||
}
|
||||
|
||||
return success();
|
||||
}
|
||||
|
||||
@@ -576,18 +449,21 @@ class PrestudentLib
|
||||
$studiensemester_kurzbz
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
return $result;
|
||||
}
|
||||
|
||||
return success();
|
||||
}
|
||||
|
||||
public function setDiplomand($prestudent_id, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
{
|
||||
$insertvon = getAuthUID();
|
||||
|
||||
$result = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
if (isError($result))
|
||||
return $result;
|
||||
if (!hasData($result))
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_student_for_prestudent', ['prestudent_id' => $prestudent_id]));
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_student_for_prestudent', ['prestudent_id' => $prestudent_id]));
|
||||
|
||||
$result = getData($result) ?: [];
|
||||
|
||||
@@ -600,8 +476,6 @@ class PrestudentLib
|
||||
if (!$result)
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_student_for_prestudent', ['prestudent_id' => $prestudent_id]));
|
||||
|
||||
$student = current($result);
|
||||
|
||||
//Status updaten
|
||||
$result = $this->_ci->PrestudentstatusModel->insert([
|
||||
'prestudent_id' => $prestudent_id,
|
||||
@@ -609,11 +483,11 @@ class PrestudentLib
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'ausbildungssemester' => $ausbildungssemester,
|
||||
'datum' => date('c'),
|
||||
'insertvon' => $insertvon,
|
||||
'insertvon' => getAuthUID(),
|
||||
'insertamum' => date('c'),
|
||||
'orgform_kurzbz'=> $prestudent_status->orgform_kurzbz,
|
||||
'studienplan_id'=> $prestudent_status->studienplan_id,
|
||||
'bestaetigtvon' => $insertvon,
|
||||
'bestaetigtvon' => getAuthUID(),
|
||||
'bestaetigtam' => date('c'),
|
||||
]);
|
||||
|
||||
@@ -662,17 +536,6 @@ class PrestudentLib
|
||||
|
||||
public function setAbsolvent($prestudent_id, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
{
|
||||
//TODO(Manu) why no lvb?
|
||||
/* if (gettype($ausbildungssemester) != "integer") {
|
||||
$ausbildungssemester = (int)$ausbildungssemester;
|
||||
}*/
|
||||
|
||||
/* if (!is_string($ausbildungssemester)) {
|
||||
$ausbildungssemester = (string)$ausbildungssemester; // Oder verwende strval($ausbildungssemester)
|
||||
}*/
|
||||
|
||||
$insertvon = getAuthUID();
|
||||
|
||||
$result = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
if (isError($result))
|
||||
return $result;
|
||||
@@ -687,8 +550,6 @@ class PrestudentLib
|
||||
if (!$result)
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_student_for_prestudent', ['prestudent_id' => $prestudent_id]));
|
||||
|
||||
$student = current($result);
|
||||
|
||||
//Status updaten
|
||||
$result = $this->_ci->PrestudentstatusModel->insert([
|
||||
'prestudent_id' => $prestudent_id,
|
||||
@@ -696,11 +557,11 @@ class PrestudentLib
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'ausbildungssemester' => $ausbildungssemester,
|
||||
'datum' => date('c'),
|
||||
'insertvon' => $insertvon,
|
||||
'insertvon' => getAuthUID(),
|
||||
'insertamum' => date('c'),
|
||||
'orgform_kurzbz'=> $prestudent_status->orgform_kurzbz,
|
||||
'studienplan_id'=> $prestudent_status->studienplan_id,
|
||||
'bestaetigtvon' => $insertvon,
|
||||
'bestaetigtvon' => getAuthUID(),
|
||||
'bestaetigtam' => date('c'),
|
||||
]);
|
||||
|
||||
@@ -757,8 +618,8 @@ class PrestudentLib
|
||||
$prestudent_status = current($resultLastStatus);
|
||||
|
||||
//check studiensemester_kurzbz TODO(Manu) check if Necessary: already checked in staus.php changeStatus()
|
||||
/* $studiensemester_kurzbz = $prestudent_status->studiensemester_kurzbz != $studiensemester_kurzbz ?
|
||||
$prestudent_status->studiensemester_kurzbz : $studiensemester_kurzbz;*/
|
||||
/* $studiensemester_kurzbz = $prestudent_status->studiensemester_kurzbz != $studiensemester_kurzbz ?
|
||||
$prestudent_status->studiensemester_kurzbz : $studiensemester_kurzbz;*/
|
||||
|
||||
//Status updaten
|
||||
$result = $this->_ci->PrestudentstatusModel->insert([
|
||||
|
||||
@@ -11,13 +11,18 @@ class Studentlehrverband_model extends DB_Model
|
||||
$this->dbTable = 'public.tbl_studentlehrverband';
|
||||
$this->pk = array('studiensemester_kurzbz', 'student_uid');
|
||||
$this->hasSequence = false;
|
||||
|
||||
$this->load->model('crm/prestudentstatus_model', 'PrestudentstatusModel');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if Studentlehrverband already exists
|
||||
*
|
||||
* @param string $student_id
|
||||
*
|
||||
* @param string $studiensemester_kurzbz
|
||||
* @return 1: if Rolle exists, 0: if it doesn't
|
||||
*
|
||||
* @return 1: if Studentlehrverband exists, 0: if it doesn't
|
||||
*/
|
||||
public function checkIfStudentlehrverbandExists($student_uid, $studiensemester_kurzbz)
|
||||
{
|
||||
@@ -46,50 +51,65 @@ class Studentlehrverband_model extends DB_Model
|
||||
}
|
||||
}
|
||||
|
||||
public function processStudentlehrverband($student_uid, $studiengang_kz, $ausbildungssemester, $verband, $gruppe, $studiensemester_kurzbz)
|
||||
/**
|
||||
* update Lehrverband and Studenlehrverband
|
||||
*
|
||||
* @param char $student_id
|
||||
* @param integer $studiengang_kz
|
||||
* @param integer $ausbildungssemester
|
||||
* @param char $verband
|
||||
* @param char $gruppe
|
||||
* @param string $studiensemester_kurzbz
|
||||
*
|
||||
* @return success if handling lehrverband, studentlehrverband successfull
|
||||
* error if not
|
||||
*
|
||||
*/
|
||||
public function processStudentlehrverband($student_uid, $studiengang_kz, $ausbildungssemester, $verband, $gruppe, $studiensemester_kurzbz, $status_kurzbz=null)
|
||||
{
|
||||
$uid = getAuthUID();
|
||||
$this->db->trans_begin(); // Start Transaktion
|
||||
|
||||
$this->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
|
||||
$result = $this->LehrverbandModel->checkIfLehrverbandExists($studiengang_kz, $ausbildungssemester, $verband, $gruppe);
|
||||
if (isError($result))
|
||||
{
|
||||
$this->db->trans_rollback();
|
||||
return error("0", $this->p->t('lehre','error_updateLehrverband'));
|
||||
}
|
||||
|
||||
if ($result->retval == "0") {
|
||||
|
||||
if ($result->retval == "0")
|
||||
{
|
||||
// Übergeordneten Lehrverband check and/or insert
|
||||
$result = $this->LehrverbandModel->checkIfLehrverbandExists($studiengang_kz, $ausbildungssemester, '', '');
|
||||
if (isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return error("0", $this->p->t('lehre','error_updateLehrverband'));
|
||||
}
|
||||
|
||||
if ($result->retval == "0")
|
||||
{
|
||||
$bezeichnung = ($status_kurzbz == PrestudentstatusModel::STATUS_ABBRECHER || $status_kurzbz == Prestudentstatus_model::STATUS_UNTERBRECHER) ? 'Ab-Unterbrecher' : '';
|
||||
$result = $this->LehrverbandModel->insert([
|
||||
'studiengang_kz' => $studiengang_kz,
|
||||
'semester' => $ausbildungssemester,
|
||||
'verband' => '',
|
||||
'gruppe' => '',
|
||||
'aktiv' => true,
|
||||
'bezeichnung' => 'Ab-Unterbrecher'
|
||||
'bezeichnung' => $bezeichnung
|
||||
]);
|
||||
|
||||
if ($this->db->trans_status() === false || isError($result))
|
||||
if (isError($result))
|
||||
{
|
||||
$this->db->trans_rollback();
|
||||
return error("0", $this->p->t('lehre','error_updateLehrverband'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Lehrverband insert
|
||||
$bezeichnung = $verband == 'A' ? ' Abbrecher' : 'Unterbrecher';
|
||||
if ($verband == 'A')
|
||||
$bezeichnung = Prestudentstatus_model::STATUS_ABBRECHER;
|
||||
else if ($verband == 'B')
|
||||
$bezeichnung = Prestudentstatus_model::STATUS_BEWERBER;
|
||||
else
|
||||
$bezeichnung = '';
|
||||
|
||||
$result = $this->LehrverbandModel->insert([
|
||||
'studiengang_kz' => $studiengang_kz,
|
||||
'semester' => $ausbildungssemester,
|
||||
@@ -99,20 +119,17 @@ class Studentlehrverband_model extends DB_Model
|
||||
'aktiv' => true
|
||||
]);
|
||||
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
if (isError($result)) {
|
||||
return error("0", $this->p->t('lehre','error_updateLehrverband'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Studentlehrverband insert or update
|
||||
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
|
||||
$result = $this->StudentlehrverbandModel->checkIfStudentLehrverbandExists($student_uid, $studiensemester_kurzbz);
|
||||
if (isError($result))
|
||||
{
|
||||
$this->db->trans_rollback();
|
||||
return error(getError($result));
|
||||
return error($result);
|
||||
}
|
||||
|
||||
if ($result->retval == "0")
|
||||
@@ -127,8 +144,7 @@ class Studentlehrverband_model extends DB_Model
|
||||
'insertvon' => $uid,
|
||||
'studiengang_kz' => $studiengang_kz
|
||||
]);
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
if (isError($result)) {
|
||||
return error("0", $this->p->t('lehre','error_updateStudentlehrverband'));
|
||||
}
|
||||
}
|
||||
@@ -148,18 +164,16 @@ class Studentlehrverband_model extends DB_Model
|
||||
'studiengang_kz' => $studiengang_kz
|
||||
]
|
||||
);
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
if (isError($result)) {
|
||||
return error("0", $this->p->t('lehre','error_updateStudentlehrverband'));
|
||||
}
|
||||
}
|
||||
|
||||
// finish transaktion
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
if (isError($result)) {
|
||||
return error("0", $this->p->t('lehre','error_updateStudentlehrverband'));
|
||||
} else {
|
||||
$this->db->trans_commit();
|
||||
}
|
||||
else
|
||||
{
|
||||
return success();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user