diff --git a/application/controllers/api/frontend/v1/Stundenplan.php b/application/controllers/api/frontend/v1/Stundenplan.php index 398b4e4cc..0efd32807 100644 --- a/application/controllers/api/frontend/v1/Stundenplan.php +++ b/application/controllers/api/frontend/v1/Stundenplan.php @@ -32,6 +32,7 @@ class Stundenplan extends FHCAPI_Controller 'Stunden' => self::PERM_LOGGED, 'Reservierungen' => self::PERM_LOGGED, 'getStundenplan' => self::PERM_LOGGED, + 'getLehreinheitStudiensemester' => self::PERM_LOGGED, ]); $this->load->library('LogLib'); @@ -154,6 +155,14 @@ class Stundenplan extends FHCAPI_Controller } + public function getLehreinheitStudiensemester($lehreinheit_id){ + $this->load->model('education/Lehreinheit_model', 'LehreinheitModel'); + $this->LehreinheitModel->addSelect(["studiensemester_kurzbz"]); + $result = $this->LehreinheitModel->load($lehreinheit_id); + $result = current($this->getDataOrTerminateWithError($result))->studiensemester_kurzbz; + $this->terminateWithSuccess($result); + } + private function expand_object_information($data){ foreach ($data as $item) { diff --git a/application/models/ressource/Stundenplan_model.php b/application/models/ressource/Stundenplan_model.php index d52d36b1d..bebbb974f 100755 --- a/application/models/ressource/Stundenplan_model.php +++ b/application/models/ressource/Stundenplan_model.php @@ -149,8 +149,9 @@ class Stundenplan_model extends DB_Model array_agg(DISTINCT lektor) as lektor, array_agg(DISTINCT (gruppe,verband,semester,studiengang_kz,gruppen_kuerzel)) as gruppe, string_agg(DISTINCT ort_kurzbz, '/') as ort_kurzbz, + array_agg(DISTINCT lehreinheit_id) as lehreinheit_id, - titel, lehrfach, lehrform, lehrfach_bez, organisationseinheit, farbe + titel, lehrfach, lehrform, lehrfach_bez, organisationseinheit, farbe, lehrveranstaltung_id FROM ( @@ -177,7 +178,7 @@ class Stundenplan_model extends DB_Model ) as subquery - GROUP BY unr, datum, beginn, ende, ort_kurzbz, titel, lehrform, lehrfach, lehrfach_bez, organisationseinheit, farbe + GROUP BY unr, datum, beginn, ende, ort_kurzbz, titel, lehrform, lehrfach, lehrfach_bez, organisationseinheit, farbe, lehrveranstaltung_id ORDER BY datum, beginn "); diff --git a/public/js/api/stundenplan.js b/public/js/api/stundenplan.js index 1e06d3d8c..0d9fad810 100644 --- a/public/js/api/stundenplan.js +++ b/public/js/api/stundenplan.js @@ -30,4 +30,10 @@ export default { { start_date, end_date } ); }, + getLehreinheitStudiensemester(lehreinheit_id) { + return this.$fhcApi.get( + `/api/frontend/v1/Stundenplan/getLehreinheitStudiensemester/${lehreinheit_id}`, + {} + ); + }, }; \ No newline at end of file diff --git a/public/js/components/Calendar/CalendarModal.js b/public/js/components/Calendar/CalendarModal.js index 40fb3a7b3..5d96ad459 100644 --- a/public/js/components/Calendar/CalendarModal.js +++ b/public/js/components/Calendar/CalendarModal.js @@ -29,13 +29,11 @@ export default { data() { return { data:this.event, - + menu: [], result: false, info: null, }; }, - - computed: { start_time: function(){ if(!this.data.start) return 'N/A'; @@ -46,6 +44,27 @@ export default { return this.data.end.getHours() + ":" + this.data.end.getMinutes(); } }, + methods:{ + onModalShow: function(){ + console.log(this.event) + if (this.event.type == 'lehreinheit') { + this.$fhcApi.factory.stundenplan.getLehreinheitStudiensemester(this.event.lehreinheit_id[0]).then( + res=>res.data + ).then( + studiensemester_kurzbz =>{ + this.$fhcApi.factory.addons.getLvMenu(this.data.lehrveranstaltung_id, studiensemester_kurzbz).then(res => { + //this.$fhcApi.factory.addons.getLvMenu(750, "WS2005").then(res =>{ + if (res.data) { + this.menu = res.data; + } + + }); + } + ) + } + + } + }, mounted() { this.modal = this.$refs.modalContainer.modal; }, @@ -53,31 +72,39 @@ export default { return BsModal.popup.bind(this)(null, options); }, template: /*html*/ ` - +