From 868a4afcc607b253e5e110feab209c4d68bccc84 Mon Sep 17 00:00:00 2001 From: Sarah Vaupel <> Date: Thu, 5 Nov 2020 18:09:17 +0100 Subject: [PATCH] feat(course-events): implement opt handler --- messages/uniworx/de-de-formal.msg | 2 ++ messages/uniworx/en-eu.msg | 2 ++ src/Handler/Course/Events/Schedule.hs | 15 ++++++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) 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