From 122673d29142a87c749b8f775bd1ab367ff71663 Mon Sep 17 00:00:00 2001 From: SimonGschnell Date: Fri, 6 Sep 2024 11:20:20 +0200 Subject: [PATCH] gets rid of the stunden dependency and uses the beginn and ende property of the queried events --- .../models/ressource/Reservierung_model.php | 10 +++++----- .../models/ressource/Stundenplan_model.php | 10 +++++----- .../js/components/Cis/Mylv/RoomInformation.js | 17 ++--------------- 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/application/models/ressource/Reservierung_model.php b/application/models/ressource/Reservierung_model.php index e3bc9a0b6..73e21eb2c 100755 --- a/application/models/ressource/Reservierung_model.php +++ b/application/models/ressource/Reservierung_model.php @@ -23,12 +23,12 @@ class Reservierung_model extends DB_Model $raum_reservierungen= $this->execReadOnlyQuery(" SELECT - 'reservierung' as type, beginn, ende, subquery.stunde, datum, + 'reservierung' as type, beginn, ende, datum, COALESCE(titel, beschreibung) as topic, array_agg(DISTINCT uid) as lektor, - array_agg(DISTINCT (gruppe,verband,semester,studiengang_kz,gruppen_kuerzel)) as gruppe, + array_agg(DISTINCT (gruppe,verband,semester,studiengang_kz,gruppen_kuerzel)) as gruppe, - ort_kurzbz + ort_kurzbz, 'FFFFFF' as farbe FROM ( @@ -45,9 +45,9 @@ class Reservierung_model extends DB_Model ) AS subquery - GROUP BY datum, subquery.stunde, beginn, ende, ort_kurzbz, titel, beschreibung + GROUP BY datum, beginn, ende, ort_kurzbz, titel, beschreibung - ORDER BY datum, subquery.stunde + ORDER BY datum, beginn ", [$ort_kurzbz, $start_date, $end_date]); if(isError($raum_reservierungen)){ diff --git a/application/models/ressource/Stundenplan_model.php b/application/models/ressource/Stundenplan_model.php index 1944feb8a..5b61d5351 100755 --- a/application/models/ressource/Stundenplan_model.php +++ b/application/models/ressource/Stundenplan_model.php @@ -144,16 +144,16 @@ class Stundenplan_model extends DB_Model { $gruppierteEvents = $this->execReadOnlyQuery(" SELECT - unr, beginn, ende, subquery.stunde, datum, + 'lehreinheit' as type, beginn, ende, datum, CONCAT(lehrfach,'-',lehrform) as topic, array_agg(DISTINCT lektor) as lektor, array_agg(DISTINCT (gruppe,verband,semester,studiengang_kz,gruppen_kuerzel)) as gruppe, - ort_kurzbz, titel, lehrfach, lehrform, lehrfach_bez + ort_kurzbz, titel, lehrfach, lehrform, lehrfach_bez, farbe FROM ( - SELECT unr,datum, sp.stunde,beginn, ende, + SELECT unr,datum,beginn, ende, CASE WHEN sp.mitarbeiter_kurzbz IS NOT NULL THEN sp.mitarbeiter_kurzbz ELSE lektor @@ -169,9 +169,9 @@ class Stundenplan_model extends DB_Model ) as subquery - GROUP BY unr, datum, subquery.stunde, beginn, ende, ort_kurzbz, titel, lehrform, lehrfach, lehrfach_bez + GROUP BY unr, datum, beginn, ende, ort_kurzbz, titel, lehrform, lehrfach, lehrfach_bez, farbe - ORDER BY datum, subquery.stunde + ORDER BY datum, beginn "); if(isError($gruppierteEvents)){ diff --git a/public/js/components/Cis/Mylv/RoomInformation.js b/public/js/components/Cis/Mylv/RoomInformation.js index 33c37db63..a01af0ebc 100644 --- a/public/js/components/Cis/Mylv/RoomInformation.js +++ b/public/js/components/Cis/Mylv/RoomInformation.js @@ -48,14 +48,6 @@ export default{ }, - loadStunden: async function(){ - this.$fhcApi.factory.stundenplan.getStunden().then(res => { - res.data.forEach(std => { - this.stunden[std.stunde] = std; // TODO(chris): geht besser - }); - }); - }, - loadEvents: function(){ // bundles the room_events and the reservierungen together into the this.events array @@ -71,7 +63,6 @@ export default{ // adding additional information to the events if (data && data.forEach) { data.forEach((el, i) => { - el.id = i; if (el.type === 'reservierung') { el.color = '#' + (el.farbe || 'FFFFFF'); @@ -79,8 +70,8 @@ export default{ el.color = '#' + (el.farbe || 'CCCCCC'); } - el.start = new Date(el.datum + ' ' + this.stunden[el.stunde].beginn); - el.end = new Date(el.datum + ' ' + this.stunden[el.stunde].ende); + el.start = new Date(el.datum + ' ' + el.beginn); + el.end = new Date(el.datum + ' ' + el.ende); }); } @@ -92,10 +83,6 @@ export default{ }, }, - async mounted() { - // the stunden data are required to display the events accordingly on the calendar - await this.loadStunden(); - }, template: /*html*/`