refactor(schedule): update comments and TODOs, move fetchActiveTerms
This commit is contained in:
parent
4e6ffa7b85
commit
0c8de277d5
@ -1,5 +1,6 @@
|
||||
module Handler.Utils.Term
|
||||
( groupHolidays
|
||||
( fetchActiveTerms
|
||||
, groupHolidays
|
||||
) where
|
||||
|
||||
import Import
|
||||
@ -7,6 +8,15 @@ import Import
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.Sequence as Seq
|
||||
|
||||
import qualified Database.Esqueleto as E
|
||||
|
||||
|
||||
fetchActiveTerms :: MonadHandler m => ReaderT SqlBackend m [Entity Term]
|
||||
fetchActiveTerms = E.select $ E.from $ \term -> do
|
||||
E.where_ $ term E.^. TermActive
|
||||
return term
|
||||
|
||||
|
||||
groupHolidays :: ( MonoFoldable mono
|
||||
, Enum (Element mono)
|
||||
, Ord (Element mono)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
module Utils.Schedule
|
||||
( fetchActiveTerms, fetchCourseEventsScheduleInfo, fetchTutorialsScheduleInfo, fetchExamOccurrencesScheduleInfo
|
||||
( fetchCourseEventsScheduleInfo, fetchTutorialsScheduleInfo, fetchExamOccurrencesScheduleInfo
|
||||
, courseEventShouldBeDisplayedInSchedule, tutorialShouldBeDisplayedInSchedule, examOccurrenceShouldBeDisplayedInSchedule
|
||||
) where
|
||||
|
||||
@ -18,12 +18,6 @@ import Utils.Tutorial
|
||||
import Utils.Schedule.Types
|
||||
|
||||
|
||||
-- TODO: move to general utils or use general utils function if available
|
||||
fetchActiveTerms :: MonadHandler m => ReaderT SqlBackend m [Entity Term]
|
||||
fetchActiveTerms = E.select $ E.from $ \term -> do
|
||||
E.where_ $ term E.^. TermActive
|
||||
return term
|
||||
|
||||
fetchCourseEventsScheduleInfo :: MonadHandler m => Maybe UserId -> AuthTagActive -> UTCTime -> ReaderT SqlBackend m [ScheduleCourseEventInfo]
|
||||
fetchCourseEventsScheduleInfo muid ata now = E.select $ E.from $ \(course `E.InnerJoin` courseEvent) -> do
|
||||
E.on $ course E.^. CourseId E.==. courseEvent E.^. CourseEventCourse
|
||||
|
||||
@ -16,22 +16,22 @@ import Utils.Schedule.Types.ScheduleOptions as Utils.Schedule.Types
|
||||
|
||||
type ScheduleCourseEventInfo = ( Entity Course
|
||||
, Entity CourseEvent
|
||||
, E.Value Bool -- showRoom
|
||||
, E.Value Bool -- ^ showRoom
|
||||
)
|
||||
|
||||
type ScheduleTutorialInfo = ( Entity Course
|
||||
, Entity Tutorial
|
||||
, E.Value Bool -- showRoom
|
||||
, E.Value Bool -- ^ showRoom
|
||||
)
|
||||
|
||||
type ScheduleExamOccurrenceInfo = ( Entity Course
|
||||
, Entity Exam
|
||||
, Entity ExamOccurrence
|
||||
, E.Value Bool -- showRoom
|
||||
, E.Value Bool -- ^ showRoom
|
||||
)
|
||||
type ScheduleExamOccurrenceJoinedInfo = ( Entity Course
|
||||
, Entity Exam
|
||||
, NonEmpty ( Entity ExamOccurrence
|
||||
, E.Value Bool -- showRoom
|
||||
, E.Value Bool -- ^ showRoom
|
||||
)
|
||||
)
|
||||
|
||||
@ -7,6 +7,7 @@ import Import.NoModel
|
||||
import Model.Types.TH.PathPiece
|
||||
|
||||
|
||||
-- TODO: implement ScheduleViewDay and ScheduleViewMonth
|
||||
data ScheduleView = ScheduleViewWeek
|
||||
deriving (Eq, Ord, Enum, Show, Read, Generic, Typeable, NFData)
|
||||
|
||||
|
||||
@ -5,13 +5,13 @@ module Utils.Schedule.Week
|
||||
import Import
|
||||
|
||||
import qualified Data.CaseInsensitive as CI
|
||||
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Set as Set
|
||||
|
||||
import qualified Database.Esqueleto as E
|
||||
|
||||
import Handler.Utils.DateTime (formatTimeRangeW, formatTimeW, utcToLocalTime, localTimeToUTCSimple)
|
||||
import Handler.Utils.Term (fetchActiveTerms)
|
||||
import Handler.Utils.Widgets (roomReferenceWidget)
|
||||
|
||||
import Utils.Schedule
|
||||
|
||||
Reference in New Issue
Block a user