diff --git a/src/Utils/Schedule/Week.hs b/src/Utils/Schedule/Week.hs index 2c8c284e0..dd2bb463b 100644 --- a/src/Utils/Schedule/Week.hs +++ b/src/Utils/Schedule/Week.hs @@ -11,7 +11,7 @@ import qualified Data.Set as Set import qualified Database.Esqueleto as E -import Handler.Utils.DateTime (formatTimeRangeW, formatTimeW) +import Handler.Utils.DateTime (formatTimeRangeW, formatTimeW, utcToLocalTime) import Utils.Schedule import Utils.Schedule.Types @@ -46,11 +46,8 @@ weekDays now (Entity _ User{userWeekStart}) scheduleOffset = go dayNowOffset where go d | dayOfWeek d == firstDay = [d .. addDays 6 d] | otherwise = go $ pred d - firstDay = toEnum $ fromEnum userWeekStart + dayOffset - dayNowOffset = toInteger dayOffset `addDays` utctDay now - dayOffset = case scheduleOffset of - ScheduleOffsetNone -> 0 - ScheduleOffsetDays d -> d + firstDay = toEnum $ fromEnum userWeekStart + offsetInDays scheduleOffset + dayNowOffset = toInteger (offsetInDays scheduleOffset) `addDays` localDay (utcToLocalTime now) weekSchedule :: UTCTime -> Entity User -> ScheduleOffset -> Widget @@ -58,10 +55,7 @@ weekSchedule now user@(Entity uid User{userScheduleWeekDays = ScheduleWeekDays u ata <- getSessionActiveAuthTags let - dayOffset = case scheduleOffset of - ScheduleOffsetNone -> 0 - ScheduleOffsetDays d -> d - dayNowOffset = toInteger dayOffset `addDays` utctDay now + dayNowOffset = toInteger (offsetInDays scheduleOffset) `addDays` localDay (utcToLocalTime now) week = weekDays now user scheduleOffset -- TODO: single runDB for all fetches below? diff --git a/stack.yaml b/stack.yaml index d31829f49..639fadba1 100644 --- a/stack.yaml +++ b/stack.yaml @@ -78,6 +78,10 @@ extra-deps: - aeson-1.5.3.0@sha256:05496710de6ae694e55dc77dbdaf7503f56c24e4aecc06045e42e75a02df8bc4,6906 - data-fix-0.3.0@sha256:058a266d1e658500e0ffb8babe68195b0ce06a081dcfc3814afc784b083fd9a5,1645 - strict-0.4@sha256:1b50c7c9c636c3a1bbc7f8873b9be48f6ca0faca4df6eec6a014de6208fb1c0e,4200 + - Cabal-3.2.1.0@sha256:8743076ec022296f9771d962000c9ca3a0fe02e68c37b992c63e382a675f791d,27482 + - directory-1.3.6.1@sha256:3dc9c69c8e09ec95a7a45c6d06abe0f0d2f604439c37e5f88e5a6c335b088d71,2810 + - process-1.6.10.0@sha256:c0d2d8adaca7cea7ceaa60e67b61c775dc03727b83bdb1c97aa8cbeac9f5dd84,2469 + - unix-2.7.2.2@sha256:9e93f93cc5a065248120136e83a0a6d1ce93d6eb5ef2a2543f9593e93e164d24,3496 resolver: nightly-2020-08-08 compiler: ghc-8.10.2 diff --git a/stack.yaml.lock b/stack.yaml.lock index 81a666051..71b30ffed 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -380,6 +380,34 @@ packages: sha256: fdf523b8990567d69277b999d68d492ed0b3a98a89b1acdfb3087e3b95eb9908 original: hackage: strict-0.4@sha256:1b50c7c9c636c3a1bbc7f8873b9be48f6ca0faca4df6eec6a014de6208fb1c0e,4200 +- completed: + hackage: Cabal-3.2.1.0@sha256:8743076ec022296f9771d962000c9ca3a0fe02e68c37b992c63e382a675f791d,27482 + pantry-tree: + size: 41224 + sha256: 92682a2aab8d967de341acff88525376eb9a31f53f094e0878c51c2886564f3a + original: + hackage: Cabal-3.2.1.0@sha256:8743076ec022296f9771d962000c9ca3a0fe02e68c37b992c63e382a675f791d,27482 +- completed: + hackage: directory-1.3.6.1@sha256:3dc9c69c8e09ec95a7a45c6d06abe0f0d2f604439c37e5f88e5a6c335b088d71,2810 + pantry-tree: + size: 3433 + sha256: 9247d0e7cfbf9946b922d23bd56a6b765cdb91f71d72f8ae6ed22c94dbd9f1db + original: + hackage: directory-1.3.6.1@sha256:3dc9c69c8e09ec95a7a45c6d06abe0f0d2f604439c37e5f88e5a6c335b088d71,2810 +- completed: + hackage: process-1.6.10.0@sha256:c0d2d8adaca7cea7ceaa60e67b61c775dc03727b83bdb1c97aa8cbeac9f5dd84,2469 + pantry-tree: + size: 1211 + sha256: 6e90778b5105753d7de0f7a0c502dadf8f04825f17a36186aa801e56ef7ca206 + original: + hackage: process-1.6.10.0@sha256:c0d2d8adaca7cea7ceaa60e67b61c775dc03727b83bdb1c97aa8cbeac9f5dd84,2469 +- completed: + hackage: unix-2.7.2.2@sha256:9e93f93cc5a065248120136e83a0a6d1ce93d6eb5ef2a2543f9593e93e164d24,3496 + pantry-tree: + size: 3536 + sha256: 0b54bf49636d2a8c06e28315710e4437e001e05b4523d6e3cb083ba2426a38b2 + original: + hackage: unix-2.7.2.2@sha256:9e93f93cc5a065248120136e83a0a6d1ce93d6eb5ef2a2543f9593e93e164d24,3496 snapshots: - completed: size: 524392