From 816215cf7cf1b7042463db4770e0e5f3dc20ca91 Mon Sep 17 00:00:00 2001 From: SJost Date: Wed, 18 Jul 2018 10:14:23 +0200 Subject: [PATCH 1/2] pageActions sorted and augmented --- src/Foundation.hs | 96 ++++++++++++++++++++++++++--------------------- 1 file changed, 53 insertions(+), 43 deletions(-) diff --git a/src/Foundation.hs b/src/Foundation.hs index 90fb562c2..84d81dde7 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -718,12 +718,52 @@ pageActions :: Route UniWorX -> [MenuTypes] {- Icons: https://fontawesome.com/icons?d=gallery Guideline: use icons without boxes/frames, only non-pro + + Please keep sorted according to routes -} -pageActions (CorrectionsR) = +pageActions (HomeR) = + [ +-- NavbarAside $ MenuItem +-- { menuItemLabel = "Benutzer" +-- , menuItemIcon = Just "users" +-- , menuItemRoute = UsersR +-- , menuItemAccessCallback' = return True +-- } +-- , + NavbarAside $ MenuItem + { menuItemLabel = "AdminDemo" + , menuItemIcon = Just "screwdriver" + , menuItemRoute = AdminTestR + , menuItemAccessCallback' = return True + } + ] +pageActions (ProfileR) = [ PageActionPrime $ MenuItem - { menuItemLabel = "Korrekturen hochladen" - , menuItemIcon = Nothing - , menuItemRoute = CorrectionsUploadR + { menuItemLabel = "Gespeicherte Daten anzeigen" + , menuItemIcon = Just "book" + , menuItemRoute = ProfileDataR + , menuItemAccessCallback' = return True + } + ] +pageActions TermShowR = + [ PageActionPrime $ MenuItem + { menuItemLabel = "Neues Semester anlegen" + , menuItemIcon = Nothing + , menuItemRoute = TermEditR + , menuItemAccessCallback' = return True + } + ] +pageActions (TermCourseListR tid) = + [ PageActionPrime $ MenuItem + { menuItemLabel = "Neuen Kurs anlegen" + , menuItemIcon = Just "book" + , menuItemRoute = CourseNewR + , menuItemAccessCallback' = return True + } + , PageActionPrime $ MenuItem + { menuItemLabel = "Semster editieren" + , menuItemIcon = Nothing + , menuItemRoute = TermEditExistR tid , menuItemAccessCallback' = return True } ] @@ -824,55 +864,25 @@ pageActions (CSubmissionR tid csh shn cid SubShowR) = _ -> return False } ] -pageActions TermShowR = +pageActions (CSheetR tid csh shn SCorrR) = [ PageActionPrime $ MenuItem - { menuItemLabel = "Neues Semester anlegen" - , menuItemIcon = Nothing - , menuItemRoute = TermEditR + { menuItemLabel = "Abgaben" + , menuItemIcon = Nothing + , menuItemRoute = CSheetR tid csh shn SSubsR , menuItemAccessCallback' = return True } ] -pageActions (TermCourseListR tid) = +pageActions (CorrectionsR) = [ PageActionPrime $ MenuItem - { menuItemLabel = "Neuen Kurs anlegen" - , menuItemIcon = Just "book" - , menuItemRoute = CourseNewR - , menuItemAccessCallback' = return True - } - , PageActionPrime $ MenuItem - { menuItemLabel = "Semster editieren" - , menuItemIcon = Nothing - , menuItemRoute = TermEditExistR tid + { menuItemLabel = "Korrekturen hochladen" + , menuItemIcon = Nothing + , menuItemRoute = CorrectionsUploadR , menuItemAccessCallback' = return True } ] -pageActions (ProfileR) = - [ PageActionPrime $ MenuItem - { menuItemLabel = "Gespeicherte Daten anzeigen" - , menuItemIcon = Just "book" - , menuItemRoute = ProfileDataR - , menuItemAccessCallback' = return True - } - ] -pageActions (HomeR) = - [ --- NavbarAside $ MenuItem --- { menuItemLabel = "Benutzer" --- , menuItemIcon = Just "users" --- , menuItemRoute = UsersR --- , menuItemAccessCallback' = return True --- } --- , - NavbarAside $ MenuItem - { menuItemLabel = "AdminDemo" - , menuItemIcon = Just "screwdriver" - , menuItemRoute = AdminTestR - , menuItemAccessCallback' = return True - } - ] - pageActions _ = [] + i18nHeading :: (MonadWidget m, RenderMessage site msg, HandlerSite m ~ site) => msg -> m () i18nHeading msg = liftWidgetT $ toWidget =<< getMessageRender <*> pure msg From e0e731b698ec584b9c1609a12cae990d265b45eb Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Wed, 18 Jul 2018 11:14:39 +0200 Subject: [PATCH 2/2] Fix time logic on sheets --- src/Foundation.hs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/Foundation.hs b/src/Foundation.hs index 51062691d..519ba6ea9 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -309,11 +309,25 @@ knownTags = Map.fromList -- should not throw exceptions, i.e. no getBy404 or req Entity cid _ <- MaybeT . getBy $ CourseTermShort tid csh Entity _sid Sheet{..} <- MaybeT . getBy $ CourseSheet cid shn cTime <- liftIO getCurrentTime + let + visible = NTop sheetVisibleFrom <= NTop (Just cTime) + active = sheetActiveFrom <= cTime && cTime <= sheetActiveTo + + guard visible + + case subRoute of + SFileR SheetExercise _ -> guard $ sheetActiveFrom <= cTime + SFileR SheetHint _ -> guard $ maybe False (<= cTime) sheetHintFrom + SFileR SheetSolution _ -> guard $ maybe False (<= cTime) sheetSolutionFrom + SubmissionNewR -> guard active + SubmissionR _ _ -> guard active + _ -> return () + + return Authorized + let started = sheetActiveFrom <= cTime || NTop sheetVisibleFrom <= (NTop $ Just cTime) case subRoute of SFileR SheetExercise _ -> guard started - SFileR SheetHint _ -> guard $ maybe False (<= cTime) sheetHintFrom - SFileR SheetSolution _ -> guard $ maybe False (<= cTime) sheetSolutionFrom SFileR SheetMarking _ -> mzero -- only for correctors and lecturers SubmissionNewR -> guard $ sheetActiveFrom <= cTime && cTime <= sheetActiveTo SubmissionR _ _ -> guard $ sheetActiveFrom <= cTime && cTime <= sheetActiveTo