update editStatus: getHistory, setAbbrecher, dropdown newStatus, validations

This commit is contained in:
ma0068
2024-05-03 16:53:31 +02:00
parent 8663d86f7a
commit d1b813b1cc
7 changed files with 85 additions and 108 deletions
+1 -1
View File
@@ -739,7 +739,7 @@ class Prestudent_model extends DB_Model
ps.status_kurzbz,
ps.studiensemester_kurzbz,
ps.ausbildungssemester,
CASE WHEN ps.status_kurzbz IN ('Student', 'Diplomand')
CASE WHEN ps.status_kurzbz IN ('Student', 'Diplomand','Abbrecher','Unterbrecher')
THEN CONCAT(lv.semester, lv.verband, lv.gruppe)
ELSE ''
END AS lehrverband,
@@ -496,8 +496,9 @@ class Prestudentstatus_model extends DB_Model
* @param integer $prestudent_id
* @return error if not valid, array StatusArr if valid
*/
public function checkIfValidStatusHistory($prestudent_id, $status_kurzbz, $new_status_studiensemester_kurzbz, $new_status_datum, $new_status_ausbildungssemester, $old_status_studiensemester_kurzbz = '', $old_status_ausbildungssemester = '')
public function checkIfValidStatusHistory($prestudent_id, $nameStud, $status_kurzbz, $new_status_studiensemester_kurzbz, $new_status_datum, $new_status_ausbildungssemester, $old_status_studiensemester_kurzbz = '', $old_status_ausbildungssemester = '')
{
$name = ($nameStud != '') ? $nameStud . ": " : '';
//$isNewStatus = $this->checkIfNewStatus($prestudent_id, $status_kurzbz);
$isNewStatus = $old_status_studiensemester_kurzbz == '' && $old_status_ausbildungssemester == '';
@@ -581,7 +582,7 @@ class Prestudentstatus_model extends DB_Model
// Abbrecher- oder Absolventenstatus muss Endstatus sein
if (isset($next_status) && in_array($curr_status_kurzbz, $endstatusArr)) {
return error("Nach Abbrecher- und Absolventenstatus darf kein anderer Status mehr eingetragen werden");
return error($name . "Nach Abbrecher- und Absolventenstatus darf kein anderer Status mehr eingetragen werden");
}
// wenn Unterbrecher auf Unterbrecher folgt, muss Ausbildungssemester gleich sein
@@ -590,7 +591,7 @@ class Prestudentstatus_model extends DB_Model
&& $curr_status_ausbildungssemester != $next_status->ausbildungssemester
)
{
return error("Aufeinanderfolgende Unterbrecher müssen gleiches Ausbildungssemester haben");
return error($name . "Aufeinanderfolgende Unterbrecher müssen gleiches Ausbildungssemester haben");
}
// wenn Abbrecher auf Unterbrecher folgt, muss Ausbildungssemester gleich sein
@@ -599,7 +600,7 @@ class Prestudentstatus_model extends DB_Model
&& $next_status->status_kurzbz == 'Abbrecher' && $curr_status_ausbildungssemester != $next_status->ausbildungssemester
)
{
return error("Unterbrecher und folgender Abbrecher müssen gleiches Ausbildungssemester haben");
return error($name ."Unterbrecher und folgender Abbrecher müssen gleiches Ausbildungssemester haben");
}
// keine Studenten nach Diplomand Status
@@ -607,7 +608,7 @@ class Prestudentstatus_model extends DB_Model
isset($next_status) && $curr_status_kurzbz == 'Diplomand' && $next_status->status_kurzbz == 'Student'
)
{
return error("Nach Diplomandenstatus darf kein Studentenstatus mehr eingetragen werden");
return error($name . "Nach Diplomandenstatus darf kein Studentenstatus mehr eingetragen werden");
}
}
@@ -53,12 +53,14 @@ class Studentlehrverband_model extends DB_Model
$this->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
$result = $this->LehrverbandModel->checkIfLehrverbandExists($studiengang_kz, $ausbildungssemester, $verband, $gruppe);
if (isError($result)) {
if (isError($result))
{
$this->db->trans_rollback();
return error("0", "Error during update Lehrverband");
}
if ($result->retval == "0") {
// Übergeordneten Lehrverband check and/or insert
$result = $this->LehrverbandModel->checkIfLehrverbandExists($studiengang_kz, $ausbildungssemester, '', '');
if (isError($result)) {
@@ -68,6 +70,7 @@ class Studentlehrverband_model extends DB_Model
if ($result->retval == "0")
{
$this->terminateWithError("in section 0 und weiter.. wo verband auf leer gesetzt wird", self::ERROR_TYPE_GENERAL);
$result = $this->LehrverbandModel->insert([
'studiengang_kz' => $studiengang_kz,
'semester' => $ausbildungssemester,
@@ -104,12 +107,14 @@ class Studentlehrverband_model extends DB_Model
// Studentlehrverband insert or update
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
$result = $this->StudentlehrverbandModel->checkIfStudentLehrverbandExists($student_uid, $studiensemester_kurzbz);
if (isError($result)) {
if (isError($result))
{
$this->db->trans_rollback();
return error(getError($result));
}
if ($result->retval == "0") {
if ($result->retval == "0")
{
$result = $this->StudentlehrverbandModel->insert([
'student_uid' => $student_uid,
'studiensemester_kurzbz' => $studiensemester_kurzbz,