diff --git a/application/controllers/api/frontend/v1/stv/LvTermine.php b/application/controllers/api/frontend/v1/stv/LvTermine.php index 0014e97a9..bd4f5085d 100644 --- a/application/controllers/api/frontend/v1/stv/LvTermine.php +++ b/application/controllers/api/frontend/v1/stv/LvTermine.php @@ -78,7 +78,7 @@ class LvTermine extends FHCAPI_Controller 'studiensemester_kurzbz' => $first_semester, )); if (isError($result)) - $semesterStud = 66; + $semesterStud = null; if(hasData($result)){ $result = getData($result); $data = current($result); @@ -127,7 +127,10 @@ class LvTermine extends FHCAPI_Controller $this->terminateWithSuccess($data); } - // function used to sort an array of studiensemester strings + // TODO(Manu) following 5 private functions are copybased of StundenplanLib, + // just applyLoadUeberSemesterHaelfte is different + // after approval: change to public in StundenplanLib and use it here? + private function sortStudienSemester(&$semester_range){ usort( $semester_range, @@ -171,7 +174,6 @@ class LvTermine extends FHCAPI_Controller ); } - private function fetchBenutzerGruppenFromStudiensemester($student_uid, $semester_range) { $this->load->model('person/Benutzergruppe_model', 'BenutzergruppeModel'); @@ -306,6 +308,7 @@ class LvTermine extends FHCAPI_Controller return success($student_lehrverband); } + //note: this is different to the version in StundenplanLib, changes apply just to LVTermine in StudVW private function applyLoadUeberSemesterHaelfte(&$semester_range) { $this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel'); diff --git a/application/models/ressource/Stundenplan_model.php b/application/models/ressource/Stundenplan_model.php index 598092bcd..6f0633d0f 100644 --- a/application/models/ressource/Stundenplan_model.php +++ b/application/models/ressource/Stundenplan_model.php @@ -610,27 +610,19 @@ class Stundenplan_model extends DB_Model { foreach($semester_date_range as $sem_date => $sem_date_range) { - //old working - if(!array_key_exists($sem_date,$studentlehrverbaende) || count($studentlehrverbaende[$sem_date]) == 0) - { - continue; - } - -/* if(!array_key_exists($sem,$studentlehrverbaende) || count($studentlehrverbaende[$sem]) == 0) + if(!array_key_exists($sem,$studentlehrverbaende) || count($studentlehrverbaende[$sem]) == 0) { continue; - }*/ + } - //TODO(MANU) check error -/* $studlvbds = array_filter( + $studlvbds = array_filter( $studentlehrverbaende[$sem], function($value) use ($sem_date) { return $value->studiensemester_kurzbz === $sem_date; } - );*/ + ); - foreach($studentlehrverbaende[$sem_date] as $key=>$lehrverband) - //foreach($studlvbds as $key=>$lehrverband) + foreach($studlvbds as $key=>$lehrverband) { $query .= "(((sp.studiengang_kz = ".$this->escape($lehrverband->studiengang_kz)." AND sp.semester = ".$this->escape($lehrverband->semester)." AND sp.verband = ".$this->escape($lehrverband->verband)." AND sp.gruppe = ".$this->escape($lehrverband->gruppe)." AND sp.datum BETWEEN ".$this->escape($sem_date_range->start)." AND ".$this->escape($sem_date_range->ende).")"; // Eintraege fuer den ganzen Verband