aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Strohm <strohm@data-quest.de>2024-12-17 14:50:26 +0000
committerMoritz Strohm <strohm@data-quest.de>2024-12-17 14:50:26 +0000
commit515a80a6bba02be314c0e19795beeb40edf224df (patch)
tree1811da6fe8e0f5394a524908e8ddf75441162e78
parentb987d545acb65f1fd3c5061fb11c037586f86586 (diff)
\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
-rw-r--r--lib/classes/calendar/Helper.php17
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/classes/calendar/Helper.php b/lib/classes/calendar/Helper.php
index 2a31772..2151d34 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' => [