From 6ad8f2ee290d5b9166b07ba3be329483a769e097 Mon Sep 17 00:00:00 2001 From: Sarah Vaupel Date: Tue, 31 Mar 2020 14:07:37 +0200 Subject: [PATCH] feat(course-events): add optional note to course events --- messages/uniworx/de-de-formal.msg | 1 + messages/uniworx/en-eu.msg | 1 + models/courses.model | 1 + src/Handler/Course/Events/Edit.hs | 1 + src/Handler/Course/Events/Form.hs | 4 ++++ src/Handler/Course/Events/New.hs | 1 + 6 files changed, 9 insertions(+) diff --git a/messages/uniworx/de-de-formal.msg b/messages/uniworx/de-de-formal.msg index efe4e061e..d603bb15a 100644 --- a/messages/uniworx/de-de-formal.msg +++ b/messages/uniworx/de-de-formal.msg @@ -2218,6 +2218,7 @@ CourseEventType: Art CourseEventTypePlaceholder: Vorlesung, Zentralübung, ... CourseEventTime: Zeit CourseEventRoom: Regulärer Raum +CourseEventNote: Notiz CourseEventActions: Aktionen CourseEventsActionEdit: Bearbeiten CourseEventsActionDelete: Löschen diff --git a/messages/uniworx/en-eu.msg b/messages/uniworx/en-eu.msg index b0b72dc39..9862452f0 100644 --- a/messages/uniworx/en-eu.msg +++ b/messages/uniworx/en-eu.msg @@ -2218,6 +2218,7 @@ CourseEventType: Type CourseEventTypePlaceholder: Lecture, Exercise discussion, ... CourseEventTime: Time CourseEventRoom: Regular room +CourseEventNote: Note CourseEventActions: Actions CourseEventsActionEdit: Edit CourseEventsActionDelete: Delete diff --git a/models/courses.model b/models/courses.model index bea256759..aae38df9a 100644 --- a/models/courses.model +++ b/models/courses.model @@ -30,6 +30,7 @@ CourseEvent course CourseId room Text time Occurrences + note Text Maybe lastChanged UTCTime default=now() CourseAppInstructionFile diff --git a/src/Handler/Course/Events/Edit.hs b/src/Handler/Course/Events/Edit.hs index e762b3ae0..5ac391d5d 100644 --- a/src/Handler/Course/Events/Edit.hs +++ b/src/Handler/Course/Events/Edit.hs @@ -24,6 +24,7 @@ postCEvEditR tid ssh csh cID = do , courseEventType = cefType , courseEventRoom = cefRoom , courseEventTime = cefTime + , courseEventNote = cefNote , courseEventLastChanged = now } addMessageI Success MsgCourseEventEdited diff --git a/src/Handler/Course/Events/Form.hs b/src/Handler/Course/Events/Form.hs index bf9d99ca8..b6a9fbd76 100644 --- a/src/Handler/Course/Events/Form.hs +++ b/src/Handler/Course/Events/Form.hs @@ -15,6 +15,7 @@ data CourseEventForm = CourseEventForm { cefType :: CI Text , cefRoom :: Text , cefTime :: Occurrences + , cefNote :: Maybe Text } courseEventForm :: Maybe CourseEventForm -> Form CourseEventForm @@ -34,15 +35,18 @@ courseEventForm template = identifyForm FIDCourseEvent . renderWForm FormStandar cefType' <- wreq (textField & cfStrip & cfCI & addDatalist courseEventTypes) (fslI MsgCourseEventType & addPlaceholder (mr MsgCourseEventTypePlaceholder)) (cefType <$> template) cefRoom' <- wreq (textField & cfStrip & addDatalist courseEventRooms) (fslI MsgCourseEventRoom) (cefRoom <$> template) cefTime' <- aFormToWForm $ occurrencesAForm ("time" :: Text) (cefTime <$> template) + cefNote' <- wopt textField (fslI MsgCourseEventNote) (cefNote <$> template) return $ CourseEventForm <$> cefType' <*> cefRoom' <*> cefTime' + <*> cefNote' courseEventToForm :: CourseEvent -> CourseEventForm courseEventToForm CourseEvent{..} = CourseEventForm { cefType = courseEventType , cefRoom = courseEventRoom , cefTime = courseEventTime + , cefNote = courseEventNote } diff --git a/src/Handler/Course/Events/New.hs b/src/Handler/Course/Events/New.hs index 248856cad..b01f17af5 100644 --- a/src/Handler/Course/Events/New.hs +++ b/src/Handler/Course/Events/New.hs @@ -22,6 +22,7 @@ postCEventsNewR tid ssh csh = do , courseEventType = cefType , courseEventRoom = cefRoom , courseEventTime = cefTime + , courseEventNote = cefNote , courseEventLastChanged = now } encrypt eId :: DB CryptoUUIDCourseEvent