From 7f630f24d5b3157cea701ea517e83bce72f19d63 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 26 May 2026 07:54:41 +0200 Subject: [PATCH 1/4] StundenplanLib: check array index access before --- application/libraries/StundenplanLib.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/application/libraries/StundenplanLib.php b/application/libraries/StundenplanLib.php index 0ee80fa86..a7bec61ec 100644 --- a/application/libraries/StundenplanLib.php +++ b/application/libraries/StundenplanLib.php @@ -360,7 +360,10 @@ class StundenplanLib if (isError($ort_content_object)) { return error(getData($ort_content_object)); } - $ort_content_object = getData($ort_content_object)[0]; + $ort_content_object_data = getData($ort_content_object); + $ort_content_object = (is_array($ort_content_object_data) && count($ort_content_object_data) > 0) + ? $ort_content_object_data[0] + : null; if($ort_content_object) { $item->ort_content_id = $ort_content_object->content_id; } From fa58635a22d9555172df7938fd0d713d31df0edc Mon Sep 17 00:00:00 2001 From: adisposkofh Date: Mon, 11 May 2026 16:47:41 +0200 Subject: [PATCH 2/4] positioning of profile cards 'quick links' and 'calendar sync' --- .../Cis/Profil/MitarbeiterProfil.js | 82 +++++++++++-------- .../Cis/Profil/MitarbeiterViewProfil.js | 27 +++--- public/js/components/Cis/Profil/Profil.js | 1 + .../js/components/Cis/Profil/StudentProfil.js | 53 +++++++----- .../Cis/Profil/StudentViewProfil.js | 15 ++-- 5 files changed, 102 insertions(+), 76 deletions(-) diff --git a/public/js/components/Cis/Profil/MitarbeiterProfil.js b/public/js/components/Cis/Profil/MitarbeiterProfil.js index 58b9bfc09..bccbf4eb5 100644 --- a/public/js/components/Cis/Profil/MitarbeiterProfil.js +++ b/public/js/components/Cis/Profil/MitarbeiterProfil.js @@ -338,8 +338,8 @@ export default {
-
- +
+
+
-
@@ -367,30 +367,42 @@ export default {
+
-
+ +
+
+ +
+
+ +
+
+ +
+
+
-
+
-
+
-
@@ -412,9 +424,9 @@ export default {
+
-
@@ -439,8 +451,8 @@ export default {
+
-
+
-
-
-
- -
-
@@ -485,29 +492,36 @@ export default {
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
+ +
+
+ +
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
diff --git a/public/js/components/Cis/Profil/MitarbeiterViewProfil.js b/public/js/components/Cis/Profil/MitarbeiterViewProfil.js index a1cf77aea..3362b56d7 100644 --- a/public/js/components/Cis/Profil/MitarbeiterViewProfil.js +++ b/public/js/components/Cis/Profil/MitarbeiterViewProfil.js @@ -225,15 +225,6 @@ export default {
- - -
@@ -242,27 +233,33 @@ export default {
+
-
+ +
+
+ +
+
+
-
+
-
@@ -284,15 +281,15 @@ export default {
- -
+ +
+
-
diff --git a/public/js/components/Cis/Profil/Profil.js b/public/js/components/Cis/Profil/Profil.js index cba34951c..ab7eb0f3d 100644 --- a/public/js/components/Cis/Profil/Profil.js +++ b/public/js/components/Cis/Profil/Profil.js @@ -176,6 +176,7 @@ export const Profil = { this.data = data.profil_data.data; this.calendarSyncUrls = data.calendar_sync_urls ?? []; this.authPermissions = data.permissions; + console.log(data.profil_data); }, zustellAdressenCount() { if (!this.data || !this.data.adressen) { diff --git a/public/js/components/Cis/Profil/StudentProfil.js b/public/js/components/Cis/Profil/StudentProfil.js index 9b0367f84..ac4f367b5 100644 --- a/public/js/components/Cis/Profil/StudentProfil.js +++ b/public/js/components/Cis/Profil/StudentProfil.js @@ -292,14 +292,13 @@ export default {
+
-
-
@@ -308,30 +307,42 @@ export default {
+
-
+ +
+
+ +
+
+ +
+
+ +
+
+
-
+
-
+
-
@@ -354,9 +365,9 @@ export default {
+
-
@@ -408,11 +419,6 @@ export default {
-
-
- -
-
@@ -426,9 +432,21 @@ export default {
+ +
+
+ +
+
+ +
+
+ +
+
+
-
@@ -438,18 +456,13 @@ export default {
+
-
-
-
-
- -
-
+
diff --git a/public/js/components/Cis/Profil/StudentViewProfil.js b/public/js/components/Cis/Profil/StudentViewProfil.js index 426bb9df3..cca9b22a5 100644 --- a/public/js/components/Cis/Profil/StudentViewProfil.js +++ b/public/js/components/Cis/Profil/StudentViewProfil.js @@ -121,12 +121,12 @@ export default {
- -
-
- -
-
+ +
+
+ +
+
@@ -155,7 +155,8 @@ export default {
-
+ +
From 23506430b135d1250e4feb8e9acd9ac28182e684 Mon Sep 17 00:00:00 2001 From: adisposkofh Date: Mon, 11 May 2026 17:35:09 +0200 Subject: [PATCH 3/4] initializing stg org lv plan with provided url params --- public/js/components/Cis/LvPlan/StgOrg.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/js/components/Cis/LvPlan/StgOrg.js b/public/js/components/Cis/LvPlan/StgOrg.js index 3a42505e9..5b6ddb8e6 100644 --- a/public/js/components/Cis/LvPlan/StgOrg.js +++ b/public/js/components/Cis/LvPlan/StgOrg.js @@ -319,6 +319,10 @@ export default { this.loadListGroup(); } } + + if (this.formData.stgkz) { + this.loadLvPlan(); + } }, template: `
From fa91e204f03e7d0070d7b61dbf4ad015458ae45f Mon Sep 17 00:00:00 2001 From: adisposkofh Date: Tue, 26 May 2026 12:02:08 +0200 Subject: [PATCH 4/4] always displaying timeslot on calendar event in list view --- public/js/components/Calendar/LvPlan.js | 3 +++ public/js/components/Calendar/Widget.js | 1 + .../Cis/Renderer/Lehreinheit/calendarEvent.js | 22 ++++++++++++++--- .../Renderer/Reservierungen/calendarEvent.js | 24 +++++++++++++++---- 4 files changed, 43 insertions(+), 7 deletions(-) diff --git a/public/js/components/Calendar/LvPlan.js b/public/js/components/Calendar/LvPlan.js index 99c7ba8ef..97246a5d4 100644 --- a/public/js/components/Calendar/LvPlan.js +++ b/public/js/components/Calendar/LvPlan.js @@ -194,6 +194,9 @@ export default { v-else :is="renderers[event.type]?.calendarEvent" :event="event" + :timeSlotDisplayBehavior=" + $props.mode.toLowerCase() === 'list' ? 'always' : 'default' + " >
diff --git a/public/js/components/Calendar/Widget.js b/public/js/components/Calendar/Widget.js index 54109268e..2266ce422 100644 --- a/public/js/components/Calendar/Widget.js +++ b/public/js/components/Calendar/Widget.js @@ -97,6 +97,7 @@ export default {
diff --git a/public/js/components/Cis/Renderer/Lehreinheit/calendarEvent.js b/public/js/components/Cis/Renderer/Lehreinheit/calendarEvent.js index fa3ea6618..652b29645 100644 --- a/public/js/components/Cis/Renderer/Lehreinheit/calendarEvent.js +++ b/public/js/components/Cis/Renderer/Lehreinheit/calendarEvent.js @@ -3,6 +3,11 @@ export default { event: { type: Object, required: true + }, + timeSlotDisplayBehavior: { + type: String, + default: "default", + // options: default, always, never } }, computed:{ @@ -50,7 +55,17 @@ export default { return luxon.Duration .fromISOTime(this.event.ende) .toISOTime({ suppressSeconds: true }); - } + }, + timeSlotDisplayClasses() { + switch (this.$props.timeSlotDisplayBehavior) { + case "always": + return "d-grid"; + case "never": + return "d-none"; + default: + return "d-none d-xl-grid"; + } + }, }, template: /*html*/`
{{ start }} {{ end }} diff --git a/public/js/components/Cis/Renderer/Reservierungen/calendarEvent.js b/public/js/components/Cis/Renderer/Reservierungen/calendarEvent.js index 2447c4f61..181ef29bd 100644 --- a/public/js/components/Cis/Renderer/Reservierungen/calendarEvent.js +++ b/public/js/components/Cis/Renderer/Reservierungen/calendarEvent.js @@ -3,6 +3,11 @@ export default { event: { type: Object, required: true + }, + timeSlotDisplayBehavior: { + type: String, + default: "default", + // options: default, always, never } }, computed: { @@ -50,21 +55,33 @@ export default { return luxon.Duration .fromISOTime(this.event.ende) .toISOTime({ suppressSeconds: true }); - } + }, + timeSlotDisplayClasses() { + switch (this.$props.timeSlotDisplayBehavior) { + case "always": + return "d-grid"; + case "never": + return "d-none"; + default: + return "d-none d-xl-grid"; + } + }, }, template: /* html */`
{{ start }} {{ end }}
{{ event.topic }} + {{ event.ort_kurzbz }} ... +{{ event.lektor.length - 3 }} - {{ event.ort_kurzbz }}
`,