diff --git a/src/Utils/Schedule/Week.hs b/src/Utils/Schedule/Week.hs index 7037bae2e..9d9bd5007 100644 --- a/src/Utils/Schedule/Week.hs +++ b/src/Utils/Schedule/Week.hs @@ -19,7 +19,7 @@ import Utils.Schedule.Week.TimeSlot weekSchedule :: Entity User -> ScheduleOffset -> Widget -weekSchedule (Entity uid User{..}) scheduleOffset = do +weekSchedule (Entity uid User{userScheduleWeekDays=ScheduleWeekDays userScheduleWeekDays,..}) scheduleOffset = do now <- liftIO getCurrentTime tz <- liftIO getCurrentTimeZone ata <- getSessionActiveAuthTags @@ -112,11 +112,10 @@ weekSchedule (Entity uid User{..}) scheduleOffset = do _ -> True in filter isRegularWithoutException occurrencesInSlot - -- TODO: auto-hide saturday and sunday (if there are no events scheduled)? week :: [Day] week = go dayNowOffset where go d - | dayOfWeek d == firstDay = [d .. toEnum (fromEnum d + 6)] + | dayOfWeek d == firstDay = filter (flip elem userScheduleWeekDays . dayOfWeek) [d .. toEnum (fromEnum d + 6)] | otherwise = go $ pred d firstDay = toEnum $ fromEnum userWeekStart + dayOffset