From be2eb3c38d6539056456978b37c47c049d1cd683 Mon Sep 17 00:00:00 2001 From: Sarah Vaupel <> Date: Tue, 11 Aug 2020 16:01:51 +0200 Subject: [PATCH] feat(eecorrectr): add handlers and navigation --- messages/uniworx/de-de-formal.msg | 2 ++ messages/uniworx/en-eu.msg | 2 ++ routes | 1 + src/Foundation.hs | 36 ++++++++++++++++++++++++++++- src/Handler/ExternalExam.hs | 1 + src/Handler/ExternalExam/Correct.hs | 13 +++++++++++ 6 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 src/Handler/ExternalExam/Correct.hs diff --git a/messages/uniworx/de-de-formal.msg b/messages/uniworx/de-de-formal.msg index c189e8b5f..0f9ef0772 100644 --- a/messages/uniworx/de-de-formal.msg +++ b/messages/uniworx/de-de-formal.msg @@ -1346,6 +1346,7 @@ MenuExternalExamUsers: Teilnehmer MenuExternalExamEdit: Bearbeiten MenuExternalExamNew: Neue externe Prüfung MenuExternalExamList: Externe Prüfungen +MenuExternalExamCorrect: Prüfungsleistungen eintragen MenuParticipantsList: Kursteilnehmerlisten MenuParticipantsIntersect: Überschneidung von Kursteilnehmern MenuAllocationUsers: Bewerber @@ -1417,6 +1418,7 @@ BreadcrumbExternalExamEdit: Editieren BreadcrumbExternalExamUsers: Teilnehmer BreadcrumbExternalExamGrades: Prüfungsleistungen BreadcrumbExternalExamStaffInvite: Einladung zum Prüfer +BreadcrumbExternalExamCorrect: Prüfungsleistungen eintragen BreadcrumbParticipantsList: Kursteilnehmerlisten BreadcrumbParticipants: Kursteilnehmerliste BreadcrumbExamAutoOccurrence: Automatische Termin-/Raumverteilung diff --git a/messages/uniworx/en-eu.msg b/messages/uniworx/en-eu.msg index 0c443642b..0a790037f 100644 --- a/messages/uniworx/en-eu.msg +++ b/messages/uniworx/en-eu.msg @@ -1346,6 +1346,7 @@ MenuExternalExamUsers: Participants MenuExternalExamEdit: Edit MenuExternalExamNew: New external exam MenuExternalExamList: External exams +MenuExternalExamCorrect: Enter exam results MenuParticipantsList: Lists of course participants MenuParticipantsIntersect: Common course participants MenuAllocationUsers: Applicants @@ -1417,6 +1418,7 @@ BreadcrumbExternalExamEdit: Edit BreadcrumbExternalExamUsers: Participants BreadcrumbExternalExamGrades: Exam results BreadcrumbExternalExamStaffInvite: Invitation +BreadcrumbExternalExamCorrect: Enter exam results BreadcrumbParticipantsList: Lists of course participants BreadcrumbParticipants: Course participants BreadcrumbExamAutoOccurrence: Automatic occurrence/room distribution diff --git a/routes b/routes index 0b790ae36..1bb1c3f9a 100644 --- a/routes +++ b/routes @@ -92,6 +92,7 @@ /users EEUsersR GET POST /grades EEGradesR GET POST !exam-office /staff-invite EEStaffInviteR GET POST + /correct EECorrectR GET POST /term TermShowR GET !free diff --git a/src/Foundation.hs b/src/Foundation.hs index 1d8cd15b4..f999ac9db 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -2696,7 +2696,8 @@ instance YesodBreadcrumbs UniWorX where EEEditR -> i18nCrumb MsgBreadcrumbExternalExamEdit . Just $ EExamR tid ssh coursen examn EEShowR EEUsersR -> i18nCrumb MsgBreadcrumbExternalExamUsers . Just $ EExamR tid ssh coursen examn EEShowR EEGradesR -> i18nCrumb MsgBreadcrumbExternalExamGrades . Just $ EExamR tid ssh coursen examn EEShowR - EEStaffInviteR -> i18nCrumb MsgBreadcrumbExternalExamStaffInvite . Just $ EExamR tid ssh coursen examn EEShowR + EEStaffInviteR -> i18nCrumb MsgBreadcrumbExternalExamStaffInvite . Just $ EExamR tid ssh coursen examn EEShowR + EECorrectR -> i18nCrumb MsgBreadcrumbExternalExamCorrect . Just $ EExamR tid ssh coursen examn EEShowR -- breadcrumb _ = return ("Uni2work", Nothing) -- Default is no breadcrumb at all @@ -4413,9 +4414,31 @@ pageActions (EExamR tid ssh coursen examn EEShowR) = return } , navChildren = [] } + , NavPageActionPrimary + { navLink = NavLink + { navLabel = MsgMenuExternalExamCorrect + , navRoute = EExamR tid ssh coursen examn EECorrectR + , navAccess' = return True + , navType = NavTypeLink { navModal = False } + , navQuick' = mempty + , navForceActive = False + } + , navChildren = [] + } ] pageActions (EExamR tid ssh coursen examn EEGradesR) = return [ NavPageActionPrimary + { navLink = NavLink + { navLabel = MsgMenuExternalExamCorrect + , navRoute = EExamR tid ssh coursen examn EECorrectR + , navAccess' = return True + , navType = NavTypeLink { navModal = False } + , navQuick' = mempty + , navForceActive = False + } + , navChildren = [] + } + , NavPageActionPrimary { navLink = NavLink { navLabel = MsgMenuExternalExamUsers , navRoute = EExamR tid ssh coursen examn EEUsersR @@ -4450,6 +4473,17 @@ pageActions (EExamR tid ssh coursen examn EEUsersR) = return } , navChildren = [] } + , NavPageActionPrimary + { navLink = NavLink + { navLabel = MsgMenuExternalExamCorrect + , navRoute = EExamR tid ssh coursen examn EECorrectR + , navAccess' = return True + , navType = NavTypeLink { navModal = False } + , navQuick' = mempty + , navForceActive = False + } + , navChildren = [] + } , NavPageActionPrimary { navLink = NavLink { navLabel = MsgMenuExternalExamEdit diff --git a/src/Handler/ExternalExam.hs b/src/Handler/ExternalExam.hs index ac53b0246..fe4c662f3 100644 --- a/src/Handler/ExternalExam.hs +++ b/src/Handler/ExternalExam.hs @@ -8,3 +8,4 @@ import Handler.ExternalExam.Show as Handler.ExternalExam import Handler.ExternalExam.Edit as Handler.ExternalExam import Handler.ExternalExam.Users as Handler.ExternalExam import Handler.ExternalExam.StaffInvite as Handler.ExternalExam +import Handler.ExternalExam.Correct as Handler.ExternalExam diff --git a/src/Handler/ExternalExam/Correct.hs b/src/Handler/ExternalExam/Correct.hs new file mode 100644 index 000000000..e930a0680 --- /dev/null +++ b/src/Handler/ExternalExam/Correct.hs @@ -0,0 +1,13 @@ +module Handler.ExternalExam.Correct + ( getEECorrectR, postEECorrectR + ) where + +import Import + + +getEECorrectR :: TermId -> SchoolId -> CourseName -> ExamName -> Handler Html +getEECorrectR _tid _ssh _coursen _examn = error "getEECorrectR WIP" + + +postEECorrectR :: TermId -> SchoolId -> CourseName -> ExamName -> Handler Void +postEECorrectR _tid _ssh _coursen _examn = error "postEECorrectR WIP"