diff --git a/messages/uniworx/de-de-formal.msg b/messages/uniworx/de-de-formal.msg index 8539621de..d9966c1a9 100644 --- a/messages/uniworx/de-de-formal.msg +++ b/messages/uniworx/de-de-formal.msg @@ -140,6 +140,8 @@ ScheduleOptActions: Terminübersicht ScheduleOptOut: Opt-Out ScheduleOptIn: Opt-In +ScheduleOptSuccess: Terminübersichts-Ausnahme gespeichert + ScheduleReset: Standard ScheduleTableHeadTime: Zeit diff --git a/messages/uniworx/en-eu.msg b/messages/uniworx/en-eu.msg index c06088e9d..37dfac88d 100644 --- a/messages/uniworx/en-eu.msg +++ b/messages/uniworx/en-eu.msg @@ -141,6 +141,8 @@ ScheduleOptActions: Schedule ScheduleOptOut: Opt out ScheduleOptIn: Opt in +ScheduleOptSuccess: Schedule exception successfully saved + ScheduleReset: Default ScheduleTableHeadTime: Time diff --git a/src/Handler/Course/Events/Schedule.hs b/src/Handler/Course/Events/Schedule.hs index ec13f2a28..98f5ec865 100644 --- a/src/Handler/Course/Events/Schedule.hs +++ b/src/Handler/Course/Events/Schedule.hs @@ -7,4 +7,17 @@ import Import getCEvScheduleOptR, postCEvScheduleOptR :: TermId -> SchoolId -> CourseShorthand -> CryptoUUIDCourseEvent -> Bool -> Handler Html getCEvScheduleOptR = postCEvScheduleOptR -postCEvScheduleOptR _tid _ssh _csh _ceid _opt = error "postCEvScheduleOptR: work in progress" +postCEvScheduleOptR tid ssh csh ceId opt = do + uid <- requireAuthId + eId <- decrypt ceId + + runDB $ void $ upsert (CourseEventScheduleOpt + { courseEventScheduleOptCourseEvent = eId + , courseEventScheduleOptUser = uid + , courseEventScheduleOptOpt = opt + }) + [ CourseEventScheduleOptOpt =. opt + ] + + addMessageI Success MsgScheduleOptSuccess + redirect $ CourseR tid ssh csh CShowR