From d82c6b073ff0749f1911610dcf1b96b586514669 Mon Sep 17 00:00:00 2001 From: Sarah Vaupel <> Date: Fri, 21 Aug 2020 13:46:25 +0200 Subject: [PATCH] refactor(schedule-week): implement utcTime helper function --- src/Utils/Schedule/Week.hs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Utils/Schedule/Week.hs b/src/Utils/Schedule/Week.hs index 06ef0533d..4e0e0b89b 100644 --- a/src/Utils/Schedule/Week.hs +++ b/src/Utils/Schedule/Week.hs @@ -29,6 +29,12 @@ slotStep = 2 slotsToDisplay :: [TimeSlot] slotsToDisplay = [firstSlot,firstSlot+slotStep..lastSlot] +timeSlotToUTCTime :: Day -> TimeSlot -> TimeZone -> UTCTime +timeSlotToUTCTime day slot tz = UTCTime{..} where + utctDay = slotDayOffset `addDays` day + utctDayTime = timeOfDayToTime slotTimeOfDay + (slotDayOffset, slotTimeOfDay) = localToUTCTimeOfDay tz $ TimeOfDay slot 0 0 + slotToDisplayTime :: TimeSlot -> Widget slotToDisplayTime t = formatTimeRangeW SelFormatTime (TimeOfDay t 0 0) $ Just $ TimeOfDay (t + slotStep) 0 0 @@ -139,15 +145,8 @@ weekSchedule uid _weekOffset = do -> day == localDay && TimeOfDay slot 0 0 <= localTimeOfDay && localTimeOfDay < TimeOfDay (slot+slotStep) 0 0 - Left ScheduleEntryExamOccurrence{..} -> let - ( slotDayOffset, slotTimeOfDay) = localToUTCTimeOfDay tz $ TimeOfDay slot 0 0 - (nextSlotDayOffset, nextSlotTimeOfDay) = localToUTCTimeOfDay tz $ TimeOfDay (slot+slotStep) 0 0 - slotUTCTime = UTCTime { utctDay = slotDayOffset `addDays` day - , utctDayTime = timeOfDayToTime slotTimeOfDay - } - nextSlotUTCTime = UTCTime { utctDay = nextSlotDayOffset `addDays` day - , utctDayTime = timeOfDayToTime nextSlotTimeOfDay - } + Left ScheduleEntryExamOccurrence{..} -> let slotUTCTime = timeSlotToUTCTime day slot tz + nextSlotUTCTime = timeSlotToUTCTime day (slot+slotStep) tz in slotUTCTime <= seeoStart && seeoStart < nextSlotUTCTime