fix(schedule-opt): account for course schedule opt in tutorial opt

This commit is contained in:
Sarah Vaupel 2020-11-09 18:51:06 +01:00
parent cd450848a4
commit d8a921f335

View File

@ -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)