diff --git a/application/libraries/AntragLib.php b/application/libraries/AntragLib.php
index 38504772c..f1a757bc2 100644
--- a/application/libraries/AntragLib.php
+++ b/application/libraries/AntragLib.php
@@ -765,14 +765,16 @@ class AntragLib
);
if (isError($result))
return $result;
- $lvsA = getData($result) ?: [];
- foreach($lvsA as $lv)
- {
- if (isset($lvszugewiesen[$lv->lehrveranstaltung_id]) &&
- ($lvszugewiesen[$lv->lehrveranstaltung_id]->note == $this->_ci->config->item('wiederholung_note_nicht_zugelassen')))
+ $lvsA = $result->retval; // NOTE(chris): don't use getData() because we want to differenciate [] and null
+ if ($lvsA) {
+ foreach($lvsA as $lv)
{
- $lv->antrag_zugelassen = true;
- $lv->antrag_anmerkung = $lvszugewiesen[$lv->lehrveranstaltung_id]->anmerkung;
+ if (isset($lvszugewiesen[$lv->lehrveranstaltung_id]) &&
+ ($lvszugewiesen[$lv->lehrveranstaltung_id]->note == $this->_ci->config->item('wiederholung_note_nicht_zugelassen')))
+ {
+ $lv->antrag_zugelassen = true;
+ $lv->antrag_anmerkung = $lvszugewiesen[$lv->lehrveranstaltung_id]->anmerkung;
+ }
}
}
@@ -798,7 +800,7 @@ class AntragLib
}
return success([
- '1' . $semA => $lvsA ?: [],
+ '1' . $semA => $lvsA,
'2' . $semB => $lvsB ?: []
]);
}
@@ -822,13 +824,23 @@ class AntragLib
if (isError($result))
return $result;
$result = getData($result);
- if (!$result)
+ if (!$result) {
+ $result = $this->_ci->StudiengangModel->load($studiengang_kz);
+ if (isError($result))
+ return $result;
+ if (!hasData($result))
+ return error('No Studiengang found with studiengang_kz: ' . $studiengang_kz);
+ $stg = current(getData($result));
+
+ if ($ausbildungssemester > $stg->max_semester)
+ return success();
return error('No studienplan found for stg: ' .
$studiengang_kz .
', studiensemester: ' .
$studiensemester_kurzbz .
', ausbildungssemester: ' .
($ausbildungssemester));
+ }
if (count($result) > 1)
return error('Multiple studienplaene found for stg: ' .
$studiengang_kz .
diff --git a/public/js/components/Studierendenantrag/Leitung/LvPopup.js b/public/js/components/Studierendenantrag/Leitung/LvPopup.js
index 045e98729..c3f2aa118 100644
--- a/public/js/components/Studierendenantrag/Leitung/LvPopup.js
+++ b/public/js/components/Studierendenantrag/Leitung/LvPopup.js
@@ -25,12 +25,12 @@ export default {
lvzugelassen() {
let zwischen = {};
for (let k in this.lvs){
- zwischen[k] = this.lvs[k].filter(lv=>lv.antrag_zugelassen);
+ zwischen[k] = this.lvs[k] ? this.lvs[k].filter(lv=>lv.antrag_zugelassen) : null;
}
return zwischen;
},
lvzugelassenLength() {
- return Object.values(this.lvzugelassen).reduce((result, current) => result + current.length, 0);
+ return Object.values(this.lvzugelassen).reduce((result, current) => result + (current ? current.length : 0), 0);
}
},
methods: {
@@ -86,7 +86,7 @@ export default {
{{sem.substr(1)}}
-
+
{{p.t('ui','bezeichnung')}}
{{p.t('lehre','lehrform')}}
@@ -98,33 +98,38 @@ export default {