Merge branch 'master' into feature-35066/Studstatus_divers

This commit is contained in:
cgfhtw
2023-12-18 14:19:50 +01:00
54 changed files with 1436 additions and 161 deletions
+30 -11
View File
@@ -985,6 +985,7 @@ class AntragLib
$studiengang_kz = $result->studiengang_kz;
$orgform_kurzbz = $result->orgform_kurzbz;
$ausbildungssemester = $result->ausbildungssemester;
$sprache = $result->sprache;
// NOTE(chris): check permission
$allowedStgs = $this->_ci->permissionlib->getSTG_isEntitledFor('student/studierendenantrag') ?: [];
@@ -1029,7 +1030,8 @@ class AntragLib
$orgform_kurzbz,
$semA,
$ausbildungssemester + 1,
$antrag->prestudent_id
$antrag->prestudent_id,
$sprache
);
if (isError($result))
return $result;
@@ -1084,7 +1086,8 @@ class AntragLib
$orgform_kurzbz,
$semA,
$ausbildungssemester - 1,
$antrag->prestudent_id
$antrag->prestudent_id,
$sprache
);
if (isError($result))
return $result;
@@ -1096,7 +1099,8 @@ class AntragLib
$orgform_kurzbz,
$stdsem,
$ausbildungssemester - 1,
$antrag->prestudent_id
$antrag->prestudent_id,
$sprache
);
if (isError($result))
return $result;
@@ -1125,7 +1129,8 @@ class AntragLib
$orgform_kurzbz,
$semB,
$ausbildungssemester,
$antrag->prestudent_id
$antrag->prestudent_id,
$sprache
);
if (isError($result))
return $result;
@@ -1155,7 +1160,8 @@ class AntragLib
$orgform_kurzbz,
$studiensemester_kurzbz,
$ausbildungssemester,
$prestudent_id
$prestudent_id,
$sprache
) {
$this->_ci->load->model('organisation/Studienplan_model', 'StudienplanModel');
@@ -1184,12 +1190,25 @@ class AntragLib
'semester' => $ausbildungssemester
]));
}
if (count($result) > 1)
return error($this->_ci->p->t('studierendenantrag', 'error_multiple_studienplan', [
'studiengang_kz' => $studiengang_kz,
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'semester' => $ausbildungssemester
]));
if (count($result) > 1) {
$langmap = array_unique(array_map(function ($a) {
return $a->sprache;
}, $result));
if ($sprache
&& count($langmap) == count($result)
&& in_array($sprache, $langmap)
) {
$result = array_filter($result, function ($a) use ($sprache) {
return $a->sprache == $sprache;
});
} else {
return error($this->_ci->p->t('studierendenantrag', 'error_multiple_studienplan', [
'studiengang_kz' => $studiengang_kz,
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'semester' => $ausbildungssemester
]));
}
}
$studienplan = current($result);
return $this->_ci->StudienplanModel->getStudienplanLehrveranstaltungForPrestudent(