diff --git a/messages/uniworx/de-de-formal.msg b/messages/uniworx/de-de-formal.msg index aea19e0bd..21193fc63 100644 --- a/messages/uniworx/de-de-formal.msg +++ b/messages/uniworx/de-de-formal.msg @@ -136,6 +136,10 @@ ScheduleOffsetWeekCurrent: Zu aktueller Woche springen ScheduleOffsetWeekForwardDay: 1 Tag vorwärts ScheduleOffsetWeekForwardWeek: 1 Woche vorwärts +ScheduleOptActions: Terminübersicht +ScheduleOptOut: Opt-Out +ScheduleOptIn: Opt-In + ScheduleReset: Standard ScheduleTableHeadTime: Zeit @@ -1481,6 +1485,7 @@ BreadcrumbSubmission: Abgabe BreadcrumbCourseNews: Kursnachricht BreadcrumbCourseNewsDelete: Kursnachricht löschen BreadcrumbCourseEventDelete: Kurstermin löschen +BreadcrumbCourseEventScheduleOpt: Kurstermin (de)abonnieren BreadcrumbProfile: Einstellungen BreadcrumbAllocationInfo: Ablauf einer Zentralanmeldung BreadcrumbCourseParticipantInvitation: Einladung zum Kursteilnehmer diff --git a/messages/uniworx/en-eu.msg b/messages/uniworx/en-eu.msg index 60619430a..d0f624e5f 100644 --- a/messages/uniworx/en-eu.msg +++ b/messages/uniworx/en-eu.msg @@ -137,6 +137,10 @@ ScheduleOffsetWeekCurrent: Jump to current week ScheduleOffsetWeekForwardDay: 1 day forward ScheduleOffsetWeekForwardWeek: 1 week forward +ScheduleOptActions: Schedule +ScheduleOptOut: Opt out +ScheduleOptIn: Opt in + ScheduleReset: Default ScheduleTableHeadTime: Time @@ -1482,6 +1486,7 @@ BreadcrumbSubmission: Submission BreadcrumbCourseNews: Course news BreadcrumbCourseNewsDelete: Delete course news BreadcrumbCourseEventDelete: Delete course occurrence +BreadcrumbCourseEventScheduleOpt: (Un)subscribe to/from course event BreadcrumbProfile: Settings BreadcrumbAllocationInfo: On central allocations BreadcrumbCourseParticipantInvitation: Invitation to be a course participant diff --git a/routes b/routes index 2434d0b08..ef4e8a0b5 100644 --- a/routes +++ b/routes @@ -216,9 +216,10 @@ !/download/*FilePath CNFileR GET !timeANDparticipant !/events/add CEventsNewR GET POST /events/#CryptoUUIDCourseEvent CourseEventR: - /edit CEvEditR GET POST - /delete CEvDeleteR GET POST - /personalised-sheet-files CPersonalFilesR GET + /schedule-opt/#Bool CEvScheduleOptR GET POST !free + /edit CEvEditR GET POST + /delete CEvDeleteR GET POST + /personalised-sheet-files CPersonalFilesR GET /subs CorrectionsR GET POST !corrector !lecturer diff --git a/src/Foundation/Navigation.hs b/src/Foundation/Navigation.hs index 79613fbea..6f9bbbaa4 100644 --- a/src/Foundation/Navigation.hs +++ b/src/Foundation/Navigation.hs @@ -207,6 +207,7 @@ instance BearerAuthSite UniWorX => YesodBreadcrumbs UniWorX where breadcrumb (CourseR tid ssh csh CEventsNewR) = i18nCrumb MsgMenuCourseEventNew . Just $ CourseR tid ssh csh CShowR breadcrumb (CourseR tid ssh csh (CourseEventR _cID sRoute)) = case sRoute of + CEvScheduleOptR _ -> i18nCrumb MsgBreadcrumbCourseEventScheduleOpt . Just $ CourseR tid ssh csh CShowR CEvEditR -> i18nCrumb MsgMenuCourseEventEdit . Just $ CourseR tid ssh csh CShowR CEvDeleteR -> i18nCrumb MsgBreadcrumbCourseEventDelete . Just $ CourseR tid ssh csh CShowR diff --git a/src/Handler/Course/Events.hs b/src/Handler/Course/Events.hs index 75e0f4fd6..6717970c1 100644 --- a/src/Handler/Course/Events.hs +++ b/src/Handler/Course/Events.hs @@ -5,3 +5,4 @@ module Handler.Course.Events import Handler.Course.Events.New as Handler.Course.Events import Handler.Course.Events.Edit as Handler.Course.Events import Handler.Course.Events.Delete as Handler.Course.Events +import Handler.Course.Events.Schedule as Handler.Course.Events diff --git a/src/Handler/Course/Events/Schedule.hs b/src/Handler/Course/Events/Schedule.hs new file mode 100644 index 000000000..ec13f2a28 --- /dev/null +++ b/src/Handler/Course/Events/Schedule.hs @@ -0,0 +1,10 @@ +module Handler.Course.Events.Schedule + ( getCEvScheduleOptR , postCEvScheduleOptR + ) where + +import Import + + +getCEvScheduleOptR, postCEvScheduleOptR :: TermId -> SchoolId -> CourseShorthand -> CryptoUUIDCourseEvent -> Bool -> Handler Html +getCEvScheduleOptR = postCEvScheduleOptR +postCEvScheduleOptR _tid _ssh _csh _ceid _opt = error "postCEvScheduleOptR: work in progress" diff --git a/templates/course.hamlet b/templates/course.hamlet index 4492a29e2..d863f8b74 100644 --- a/templates/course.hamlet +++ b/templates/course.hamlet @@ -260,6 +260,9 @@ $# $if NTop (Just 0) < NTop (courseCapacity course) _{MsgCourseEventRoom}