diff --git a/application/controllers/api/frontend/v1/Studium.php b/application/controllers/api/frontend/v1/Studium.php index be2e79800..b0be3cf41 100644 --- a/application/controllers/api/frontend/v1/Studium.php +++ b/application/controllers/api/frontend/v1/Studium.php @@ -222,7 +222,51 @@ class Studium extends FHCAPI_Controller } private function computeStudienplanLehrveranstaltungen($studienplan_id, $semester){ - $lehrveranstaltungen = $this->StudienplanModel->getStudienplanLehrveranstaltung($studienplan_id, $semester); + +/* +SELECT tbl_lehrveranstaltung.*, + tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id, + tbl_studienplan_lehrveranstaltung.semester as stpllv_semester, + tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht, + tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator, + tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent, + tbl_studienplan_lehrveranstaltung.sort stpllv_sort, + tbl_studienplan_lehrveranstaltung.curriculum, + tbl_studienplan_lehrveranstaltung.export, + tbl_studienplan_lehrveranstaltung.genehmigung + FROM lehre.tbl_lehrveranstaltung + JOIN lehre.tbl_studienplan_lehrveranstaltung + USING(lehrveranstaltung_id) + WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER); + if (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN") && CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN) + $qry .= " AND tbl_lehrveranstaltung.lehrtyp_kurzbz != 'modul'"; + if (!is_null($semester)) + { + $qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER); + } */ + $this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel'); + + $query = " + SELECT tbl_lehrveranstaltung.*, + tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id, + tbl_studienplan_lehrveranstaltung.semester as stpllv_semester, + tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht, + tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator, + tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent, + tbl_studienplan_lehrveranstaltung.sort stpllv_sort, + tbl_studienplan_lehrveranstaltung.curriculum, + tbl_studienplan_lehrveranstaltung.export, + tbl_studienplan_lehrveranstaltung.genehmigung + FROM lehre.tbl_lehrveranstaltung + JOIN lehre.tbl_studienplan_lehrveranstaltung + USING(lehrveranstaltung_id) + WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=? AND tbl_studienplan_lehrveranstaltung.semester=?"; + + if (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN") && CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN) + $query .= " AND tbl_lehrveranstaltung.lehrtyp_kurzbz != 'modul'"; + + $lehrveranstaltungen = $this->LehrveranstaltungModel->execReadOnlyQuery($query,[$studienplan_id, $semester]); + $lehrveranstaltungen = $this->getDataOrTerminateWithError($lehrveranstaltungen); usort($lehrveranstaltungen, function($a, $b){ if($a->lehrtyp_kurzbz == "modul"){ diff --git a/public/js/components/Cis/Studium/Studium.js b/public/js/components/Cis/Studium/Studium.js index 9e716d7df..a53f9a4e4 100644 --- a/public/js/components/Cis/Studium/Studium.js +++ b/public/js/components/Cis/Studium/Studium.js @@ -31,15 +31,15 @@ export default { }, watch:{ selectedStudiensemester: function(newVal, oldVal){ - if(newVal != oldVal){ + if(newVal && newVal != oldVal){ const studiensemester =this.getDataFromLocalStorage("sudiensemester"); - if (!studiensemester || (studiensemester && studiensemester != newVal)){ + if (newVal && (!studiensemester || (studiensemester && studiensemester != newVal))){ this.storeDataToLocalStorage("sudiensemester", newVal); } } }, selectedSemester: function (newVal, oldVal) { - if (newVal != oldVal) { + if (newVal && newVal != oldVal) { const semester = this.getDataFromLocalStorage("semester"); if (!semester || (semester && semester != newVal)) { this.storeDataToLocalStorage("semester", newVal); @@ -47,7 +47,7 @@ export default { } }, selectedStudiengang: function (newVal, oldVal) { - if (newVal != oldVal) { + if (newVal && newVal != oldVal) { const studiengang = this.getDataFromLocalStorage("studiengang"); if (!studiengang || (studiengang && studiengang != newVal)) { this.storeDataToLocalStorage("studiengang", JSON.stringify(newVal)); @@ -55,7 +55,7 @@ export default { } }, selectedStudienordnung: function (newVal, oldVal) { - if (newVal != oldVal) { + if (newVal && newVal != oldVal) { const studienordnung = this.getDataFromLocalStorage("studienordnung"); if (!studienordnung || (studienordnung && studienordnung != newVal)) { this.storeDataToLocalStorage("studienordnung", JSON.stringify(newVal)); @@ -81,7 +81,11 @@ export default { }, changeStudienordnung(value) { let studienordnung = this.$refs.studienordnung; - studienordnung.selectedIndex = (studienordnung.selectedIndex + value + studienordnung.options.length) % studienordnung.options.length; + let newSelectIndex = (studienordnung.selectedIndex + value + studienordnung.options.length) % studienordnung.options.length; + if(studienordnung.options[newSelectIndex].disabled){ + newSelectIndex = (newSelectIndex + value + studienordnung.options.length) % studienordnung.options.length; + } + studienordnung.selectedIndex = newSelectIndex; this.changeSelectedStudienPlan(studienordnung.value); }, @@ -277,13 +281,13 @@ export default {