diff --git a/application/libraries/AntragLib.php b/application/libraries/AntragLib.php index 6896c46f9..03a45e5e6 100644 --- a/application/libraries/AntragLib.php +++ b/application/libraries/AntragLib.php @@ -1688,6 +1688,7 @@ class AntragLib return array_reduce($result, function ($carry, $item) { if (!isset($carry[$item->von])) $carry[$item->von] = [ + 'studienjahr_kurzbz' => $item->studienjahr_kurzbz, 'studiensemester_kurzbz' => $item->von, 'wiedereinstieg' => [], 'disabled' => true diff --git a/application/models/education/Studierendenantrag_model.php b/application/models/education/Studierendenantrag_model.php index 62950c1e8..b7cda4274 100644 --- a/application/models/education/Studierendenantrag_model.php +++ b/application/models/education/Studierendenantrag_model.php @@ -383,6 +383,7 @@ class Studierendenantrag_model extends DB_Model $sql = "WITH numbered_sems AS ( SELECT + a.studienjahr_kurzbz AS studienjahr_kurzbz, a.studiensemester_kurzbz AS von, b.studiensemester_kurzbz AS bis, a.start AS start, @@ -399,7 +400,7 @@ class Studierendenantrag_model extends DB_Model FROM numbered_sems WHERE numbered_sems.row_number <= ? ) - SELECT s.von, s.bis, s.start, s.ende, studierendenantrag_id + SELECT s.von, s.bis, s.start, s.ende, studierendenantrag_id, studienjahr_kurzbz FROM last_sems s LEFT JOIN ( SELECT studierendenantrag_id, start, datum_wiedereinstieg AS ende diff --git a/public/js/components/Studierendenantrag/Form/Unterbrechung.js b/public/js/components/Studierendenantrag/Form/Unterbrechung.js index 31f630add..a2058b5bf 100644 --- a/public/js/components/Studierendenantrag/Form/Unterbrechung.js +++ b/public/js/components/Studierendenantrag/Form/Unterbrechung.js @@ -65,6 +65,18 @@ export default { return datumUnformatted; let datum = new Date(datumUnformatted); return datum.toLocaleDateString(); + }, + semesterOffsets() { + if (!this.data || !this.data.studiensemester) + return []; + return Object.values(this.data.studiensemester) + .filter(el => !el.disabled) + .map(el => el.studiensemester_kurzbz); + }, + semester() { + if (!this.stsem) + return ''; + return this.data.semester + this.semesterOffsets.indexOf(this.stsem); } }, methods: { @@ -242,7 +254,7 @@ export default {