mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-26 09:04:28 +00:00
gets rid of the stunden dependency and uses the beginn and ende property of the queried events
This commit is contained in:
@@ -23,12 +23,12 @@ class Reservierung_model extends DB_Model
|
|||||||
|
|
||||||
$raum_reservierungen= $this->execReadOnlyQuery("
|
$raum_reservierungen= $this->execReadOnlyQuery("
|
||||||
SELECT
|
SELECT
|
||||||
'reservierung' as type, beginn, ende, subquery.stunde, datum,
|
'reservierung' as type, beginn, ende, datum,
|
||||||
COALESCE(titel, beschreibung) as topic,
|
COALESCE(titel, beschreibung) as topic,
|
||||||
array_agg(DISTINCT uid) as lektor,
|
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
|
FROM
|
||||||
(
|
(
|
||||||
@@ -45,9 +45,9 @@ class Reservierung_model extends DB_Model
|
|||||||
|
|
||||||
) AS subquery
|
) 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]);
|
", [$ort_kurzbz, $start_date, $end_date]);
|
||||||
|
|
||||||
if(isError($raum_reservierungen)){
|
if(isError($raum_reservierungen)){
|
||||||
|
|||||||
@@ -144,16 +144,16 @@ class Stundenplan_model extends DB_Model
|
|||||||
{
|
{
|
||||||
$gruppierteEvents = $this->execReadOnlyQuery("
|
$gruppierteEvents = $this->execReadOnlyQuery("
|
||||||
SELECT
|
SELECT
|
||||||
unr, beginn, ende, subquery.stunde, datum,
|
'lehreinheit' as type, beginn, ende, datum,
|
||||||
CONCAT(lehrfach,'-',lehrform) as topic,
|
CONCAT(lehrfach,'-',lehrform) as topic,
|
||||||
array_agg(DISTINCT lektor) as lektor,
|
array_agg(DISTINCT lektor) 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, titel, lehrfach, lehrform, lehrfach_bez
|
ort_kurzbz, titel, lehrfach, lehrform, lehrfach_bez, farbe
|
||||||
|
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT unr,datum, sp.stunde,beginn, ende,
|
SELECT unr,datum,beginn, ende,
|
||||||
CASE
|
CASE
|
||||||
WHEN sp.mitarbeiter_kurzbz IS NOT NULL THEN sp.mitarbeiter_kurzbz
|
WHEN sp.mitarbeiter_kurzbz IS NOT NULL THEN sp.mitarbeiter_kurzbz
|
||||||
ELSE lektor
|
ELSE lektor
|
||||||
@@ -169,9 +169,9 @@ class Stundenplan_model extends DB_Model
|
|||||||
|
|
||||||
) as subquery
|
) 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)){
|
if(isError($gruppierteEvents)){
|
||||||
|
|||||||
@@ -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(){
|
loadEvents: function(){
|
||||||
|
|
||||||
// bundles the room_events and the reservierungen together into the this.events array
|
// 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
|
// adding additional information to the events
|
||||||
if (data && data.forEach) {
|
if (data && data.forEach) {
|
||||||
data.forEach((el, i) => {
|
data.forEach((el, i) => {
|
||||||
|
|
||||||
el.id = i;
|
el.id = i;
|
||||||
if (el.type === 'reservierung') {
|
if (el.type === 'reservierung') {
|
||||||
el.color = '#' + (el.farbe || 'FFFFFF');
|
el.color = '#' + (el.farbe || 'FFFFFF');
|
||||||
@@ -79,8 +70,8 @@ export default{
|
|||||||
el.color = '#' + (el.farbe || 'CCCCCC');
|
el.color = '#' + (el.farbe || 'CCCCCC');
|
||||||
}
|
}
|
||||||
|
|
||||||
el.start = new Date(el.datum + ' ' + this.stunden[el.stunde].beginn);
|
el.start = new Date(el.datum + ' ' + el.beginn);
|
||||||
el.end = new Date(el.datum + ' ' + this.stunden[el.stunde].ende);
|
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*/`
|
template: /*html*/`
|
||||||
<div>
|
<div>
|
||||||
<fhc-calendar @change:range="updateRange" v-slot="{event,day}" :initialDate="currentDate" :events="events" initial-mode="week" show-weeks>
|
<fhc-calendar @change:range="updateRange" v-slot="{event,day}" :initialDate="currentDate" :events="events" initial-mode="week" show-weeks>
|
||||||
|
|||||||
Reference in New Issue
Block a user