feat(tutorials): implement tutorial schedule opt handlers

This commit is contained in:
Sarah Vaupel 2020-11-07 15:13:03 +01:00
parent fd276879ad
commit 43e5a67164

View File

@ -5,12 +5,36 @@ module Handler.Tutorial.Schedule
import Import
import Handler.Utils.Tutorial
getTScheduleOptSetR, postTScheduleOptSetR :: TermId -> SchoolId -> CourseShorthand -> TutorialName -> Bool -> Handler Html
getTScheduleOptSetR = postTScheduleOptSetR
postTScheduleOptSetR _tid _ssh _csh _tutn _opt = error "WIP"
postTScheduleOptSetR tid ssh csh tutn opt = do
uid <- requireAuthId
runDB $ do
tutid <- fmap entityKey $ fetchTutorial tid ssh csh tutn
void $ upsert TutorialScheduleOpt
{ tutorialScheduleOptTutorial = tutid
, tutorialScheduleOptUser = uid
, tutorialScheduleOptOpt = opt
}
[ TutorialScheduleOptOpt =. opt
]
addMessageI Success $ bool MsgScheduleOptOutSuccess MsgScheduleOptInSuccess opt
redirect $ CourseR tid ssh csh CShowR
getTScheduleOptDelR, postTScheduleOptDelR :: TermId -> SchoolId -> CourseShorthand -> TutorialName -> Handler Html
getTScheduleOptDelR = postTScheduleOptDelR
postTScheduleOptDelR _tid _ssh _csh _tutn = error "WIP"
postTScheduleOptDelR tid ssh csh tutn = do
uid <- requireAuthId
runDB $ do
tutid <- fmap entityKey $ fetchTutorial tid ssh csh tutn
deleteBy $ UniqueTutorialScheduleOpt tutid uid
addMessageI Success MsgScheduleOptDeleteSuccess
redirect $ CourseR tid ssh csh CShowR