diff --git a/messages/uniworx/de.msg b/messages/uniworx/de.msg index 417600257..5b6fac8cd 100644 --- a/messages/uniworx/de.msg +++ b/messages/uniworx/de.msg @@ -551,7 +551,6 @@ MenuLogin: Login MenuLogout: Logout MenuCourseList: Kurse MenuTermShow: Semester -MenuCorrection: Korrektur MenuSubmissionDelete: Abgabe löschen MenuUsers: Benutzer MenuAdminTest: Admin-Demo @@ -561,8 +560,10 @@ MenuProfileData: Persönliche Daten MenuTermCreate: Neues Semester anlegen MenuCourseNew: Neuen Kurs anlegen MenuTermEdit: Semester editieren +MenuCorrection: Korrektur +MenuCorrections: Korrekturen +MenuSubmissions: Abgaben MenuSheetList: Übungsblätter -MenuCorrections: Abgaben MenuSheetNew: Neues Übungsblatt anlegen MenuCourseEdit: Kurs editieren MenuCourseNewTemplate: Als neuen Kurs klonen diff --git a/src/Foundation.hs b/src/Foundation.hs index d12d4371f..87a73f629 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -1240,12 +1240,32 @@ pageActions (CourseR tid ssh csh CShowR) = } , MenuItem { menuItemType = PageActionPrime - , menuItemLabel = MsgMenuCorrections + , menuItemLabel = MsgMenuSubmissions , menuItemIcon = Nothing , menuItemRoute = SomeRoute $ CourseR tid ssh csh CCorrectionsR , menuItemModal = False , menuItemAccessCallback' = return True } + , MenuItem + { menuItemType = PageActionPrime + , menuItemLabel = MsgMenuCorrections + , menuItemIcon = Nothing + , menuItemRoute = SomeRoute (CorrectionsR, [ ("corrections-term" , termToText $ unTermKey tid) + , ("corrections-school", CI.original $ unSchoolKey ssh) + , ("corrections-course", CI.original csh) + ]) + , menuItemModal = False + , menuItemAccessCallback' = do + uid <- requireAuthId + [E.Value ok] <- runDB . E.select . return . E.exists . E.from $ \(course `E.InnerJoin` sheet `E.InnerJoin` submission) -> do + E.on $ submission E.^. SubmissionSheet E.==. sheet E.^. SheetId + E.on $ sheet E.^. SheetCourse E.==. course E.^. CourseId + E.where_ $ submission E.^. SubmissionRatingBy E.==. E.just (E.val uid) + E.&&. course E.^. CourseTerm E.==. E.val tid + E.&&. course E.^. CourseSchool E.==. E.val ssh + E.&&. course E.^. CourseShorthand E.==. E.val csh + return ok + } , MenuItem { menuItemType = PageActionPrime , menuItemLabel = MsgMenuSheetNew