feat(tutorials): implement tutorial schedule opt handlers
This commit is contained in:
parent
fd276879ad
commit
43e5a67164
@ -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
|
||||
|
||||
Reference in New Issue
Block a user