fix(schedule-opt): account for course schedule opt in tutorial opt
This commit is contained in:
parent
cd450848a4
commit
d8a921f335
@ -207,8 +207,16 @@ getCShowR tid ssh csh = do
|
||||
| otherwise -> return mempty
|
||||
tutScheduleOptSet <- if
|
||||
| Just (uid,User{..}) <- mbAuth -> do
|
||||
mScheduleOpt <- getBy $ UniqueTutorialScheduleOpt tutId uid
|
||||
let currentOpt = maybe (maybe (isRegistered && userScheduleOccurrenceDisplayDefault) (courseScheduleOptOpt . entityVal) mCourseScheduleOpt) tutorialScheduleOptOpt $ entityVal <$> mScheduleOpt
|
||||
mTutorialScheduleOpt <- getBy $ UniqueTutorialScheduleOpt tutId uid
|
||||
let
|
||||
currentOpt = maybe
|
||||
( maybe
|
||||
(isRegistered && userScheduleOccurrenceDisplayDefault)
|
||||
((&&) isRegistered . courseScheduleOptOpt . entityVal)
|
||||
mCourseScheduleOpt
|
||||
)
|
||||
(tutorialScheduleOptOpt . entityVal)
|
||||
mTutorialScheduleOpt
|
||||
(tutScheduleForm, tutScheduleEnctype) <- liftHandler . generateFormPost . buttonForm' $ bool [BtnScheduleOptIn] [BtnScheduleOptOut] currentOpt
|
||||
return $ wrapForm tutScheduleForm def
|
||||
{ formAction = Just . SomeRoute $ CTutorialR tid ssh csh tutorialName (TScheduleOptSetR $ not currentOpt)
|
||||
|
||||
Reference in New Issue
Block a user