From 27104518d2873cc7fcf25a845ef5756f7b14e0b3 Mon Sep 17 00:00:00 2001
From: Moritz Strohm <strohm@data-quest.de>
Date: Fri, 20 Dec 2024 11:22:18 +0000
Subject: [PATCH] show day view in schedule if the current day is visible,
 closes #5036

Closes #5036

Merge request studip/studip!3782
---
 lib/classes/calendar/Helper.php | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/lib/classes/calendar/Helper.php b/lib/classes/calendar/Helper.php
index 2151d34a887..992e236369f 100644
--- a/lib/classes/calendar/Helper.php
+++ b/lib/classes/calendar/Helper.php
@@ -158,6 +158,20 @@ class Helper
             }
         }
 
+        $available_views = [
+            'timeGridWeek' => [
+                'columnHeaderFormat' => ['weekday' => 'short'],
+                'slotDuration'       => $slot_duration
+            ]
+        ];
+        if (!in_array(date('N'), $hidden_days)) {
+            //The current day is visible: Allow a day view:
+            $available_views['timeGridDay'] = [
+                'columnHeaderFormat' => ['weekday' => 'short'],
+                'slotDuration'       => $slot_duration
+            ];
+        }
+
         return new \Studip\Fullcalendar(
             _('Stundenplan'),
             [
@@ -168,15 +182,10 @@ class Helper
                 'maxTime'     => $schedule_settings['end_time'] ?? '20:00',
                 'allDaySlot'  => false,
                 'header'      => [
-                    'left' => '',
+                    'left' => count($available_views) > 1 ? implode(',', array_keys($available_views)) : '',
                     'right' => ''
                 ],
-                'views' => [
-                    'timeGridWeek' => [
-                        'columnHeaderFormat' => ['weekday' => 'short'],
-                        'slotDuration'       => $slot_duration
-                    ]
-                ],
+                'views' => $available_views,
                 'columnHeaderFormat' => ['weekday' => 'short'],
                 'defaultView' => 'timeGridWeek',
                 'defaultDate' => date('Y-m-d'),
-- 
GitLab