From 9a0716af4423574c7bad06d1d1feab1f1c0ce9a1 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Fri, 20 Feb 2026 09:18:48 +0100 Subject: [PATCH] Studium.php added fallback if no lehrverband found for semester --- .../controllers/api/frontend/v1/Studium.php | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/application/controllers/api/frontend/v1/Studium.php b/application/controllers/api/frontend/v1/Studium.php index 1ec84ea8a..c47afb8c2 100644 --- a/application/controllers/api/frontend/v1/Studium.php +++ b/application/controllers/api/frontend/v1/Studium.php @@ -62,12 +62,18 @@ class Studium extends FHCAPI_Controller if($this->getDataOrTerminateWithError($this->StudentModel->isStudent(getAuthUID()))){ $studentLehrverband =$this->StudentlehrverbandModel->loadWhere(["student_uid" => getAuthUID(), "studiensemester_kurzbz" => $aktuelles_studiensemester->studiensemester_kurzbz]); - $studentLehrverband = current($this->getDataOrTerminateWithError($studentLehrverband)); - -/* //load later if needed to avoid warning - $student_studiensemester = $studentLehrverband->studiensemester_kurzbz; - $student_studiengang = $studentLehrverband->studiengang_kz; - $student_semester = $studentLehrverband->semester;*/ + + //TODO(Manu) check if use Fallback or just comment out all paramschecks? + //add Fallback: if no LehrverbandData of actual semester, get Data of previous one + if(!hasData($studentLehrverband)) + { + $result= $this->StudiensemesterModel->getPreviousFrom($aktuelles_studiensemester->studiensemester_kurzbz); + + $data = $this->getDataOrTerminateWithError($result); + $vorheriges_studiensemester = current($data)->studiensemester_kurzbz; + $studentLehrverband =$this->StudentlehrverbandModel->loadWhere(["student_uid" => getAuthUID(), "studiensemester_kurzbz" => $vorheriges_studiensemester]); + } + $studentLehrverband = current(getData($studentLehrverband)); $student_studienplan = $this->getStudienPlanFromPrestudentStatus(getAuthPersonId())->studienplan_id; @@ -84,7 +90,8 @@ class Studium extends FHCAPI_Controller $parameter_semester = $student_semester; } if(!isset($parameter_studienplan)) - $parameter_studienplan = $student_studienplan; + $parameter_studienplan = $student_studienplan; + } if(isset($parameter_studiensemester)){ @@ -104,8 +111,7 @@ class Studium extends FHCAPI_Controller // fetch studiensemester $allStudienSemester = $this->getDataOrTerminateWithError($this->StudiensemesterModel->load()); - - + if(isset($parameter_studiensemester) && !empty(array_filter($allStudienSemester, function($studiensemester) use($parameter_studiensemester){ return $studiensemester->studiensemester_kurzbz == $parameter_studiensemester->studiensemester_kurzbz; }))){