From 515a80a6bba02be314c0e19795beeb40edf224df Mon Sep 17 00:00:00 2001 From: Moritz Strohm <strohm@data-quest.de> Date: Tue, 17 Dec 2024 14:50:26 +0000 Subject: [PATCH] \Studip\Calendar\Helper::getScheduleFullcalendar: fixed empty schedule in case no visible days are selected in the user configuration, fixes #5033 Closes #5033 Merge request studip/studip!3772 --- lib/classes/calendar/Helper.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/classes/calendar/Helper.php b/lib/classes/calendar/Helper.php index 2a317721382..2151d34a887 100644 --- a/lib/classes/calendar/Helper.php +++ b/lib/classes/calendar/Helper.php @@ -128,7 +128,7 @@ class Helper if (!$semester_id) { $semester_id = \Semester::findCurrent()?->id ?? ''; } - $schedule_settings = \UserConfig::get()->getValue('SCHEDULE_SETTINGS') ?? []; + $schedule_settings = \UserConfig::get(\User::findCurrent()->id)->getValue('SCHEDULE_SETTINGS') ?? []; $slot_duration = '00:30:00'; if (!empty($schedule_settings['size']) && in_array($schedule_settings['size'], ['small', 'large'])) { if ($schedule_settings['size'] === 'small') { @@ -139,11 +139,15 @@ class Helper } //Determine the value of the hiddenDays config. - $hidden_days = [1, 2, 3, 4, 5, 6, 7]; - $hidden_days = array_diff( - $hidden_days, - $schedule_settings['visible_days'] ?? [1, 2, 3, 4, 5, 6, 7] - ); + //In case no visible days are set, default to hide Saturday and Sunday. + $hidden_days = [6, 7]; + if (!empty($schedule_settings['visible_days'])) { + $hidden_days = [1, 2, 3, 4, 5, 6, 7]; + $hidden_days = array_diff( + $hidden_days, + $schedule_settings['visible_days'] + ); + } $fullcalendar_hidden_days = []; foreach ($hidden_days as $day) { @@ -181,6 +185,7 @@ class Helper 'minute' => '2-digit', 'omitZeroMinute' => false ], + 'weekends' => true, 'hiddenDays' => $fullcalendar_hidden_days, 'timeGridEventMinHeight' => 20, 'eventSources' => [ -- GitLab