diff --git a/messages/de.msg b/messages/de.msg index ae6d17cb8..efced8907 100644 --- a/messages/de.msg +++ b/messages/de.msg @@ -31,6 +31,7 @@ LectureStart: Beginn Vorlesungen Course: Kurs CourseShort: Kürzel +CourseCapacity: Kapazität CourseNoCapacity: In diesem Kurs sind keine Plätze mehr frei. CourseRegisterOk: Sie wurden angemeldet CourseDeregisterOk: Sie wurden abgemeldet @@ -69,6 +70,8 @@ SheetSolutionFrom: Lösung ab SheetMarking: Hinweise für Korrektoren SheetType: Bewertung +SheetInvisible: Dieses Übungsblatt ist für Teilnehmer momentan unsichtbar! +SheetInvisibleUntil mFrom@Text: Dieses Übungsblatt ist für Teilnehmer momentan unsichtbar bis #{mFrom}! SheetVisibleFrom: Sichtbar ab SheetActiveFrom: Aktiv ab SheetActiveTo: Abgabefrist diff --git a/routes b/routes index f207525b7..097e6a0b8 100644 --- a/routes +++ b/routes @@ -61,7 +61,7 @@ / SShowR GET !timeANDregistered !timeANDmaterials !corrector /edit SEditR GET POST /delete SDelR GET POST - /subs SSubsR GET POST + /subs SSubsR GET POST -- for lecturer only /subs/new SubmissionNewR GET POST !timeANDregistered /subs/own SubmissionOwnR GET !free -- just redirect /sub/#CryptoFileNameSubmission SubmissionR !correctorANDisRead: diff --git a/src/Handler/Course.hs b/src/Handler/Course.hs index 080e444ec..c023765f5 100644 --- a/src/Handler/Course.hs +++ b/src/Handler/Course.hs @@ -395,7 +395,8 @@ newCourseForm template = identForm FIDcourse $ \html -> do (cfShort <$> template) <*> areq termActiveField (fsb "Semester") (cfTerm <$> template) <*> areq schoolField (fsb "Institut") (cfSchool <$> template) - <*> aopt (natField "Kapazität") (fsb "Kapazität") (cfCapacity <$> template) + <*> aopt (natField "Kapazität") (fslI MsgCourseCapacity + & setTooltip "Für unbeschränkte Kapazität KEINEN Wert angeben.") (cfCapacity <$> template) <*> aopt textField (fslpI MsgCourseSecret "beliebige Zeichenkette" & setTooltip "Optional: Anmeldung zum Kurs benötigt ein Passwort") (cfSecret <$> template) diff --git a/src/Handler/Sheet.hs b/src/Handler/Sheet.hs index 8319760f2..c70ac4781 100644 --- a/src/Handler/Sheet.hs +++ b/src/Handler/Sheet.hs @@ -294,11 +294,15 @@ getSShowR tid csh shn = do hasHints <- (/= 0) <$> count [ SheetFileSheet ==. sid, SheetFileType ==. SheetHint ] hasSolution <- (/= 0) <$> count [ SheetFileSheet ==. sid, SheetFileType ==. SheetSolution ] return (hasHints, hasSolution) + cTime <- Just <$> liftIO getCurrentTime + visibleFrom <- traverse (formatTime SelFormatDateTime) $ sheetVisibleFrom sheet + when (NTop (sheetVisibleFrom sheet) >= NTop cTime) $ addMessageI "warning" $ + maybe MsgSheetInvisible MsgSheetInvisibleUntil visibleFrom defaultLayout $ do setTitleI $ MsgSheetTitle tid csh shn - sheetFrom <- formatTime SelFormatDateTime $ sheetActiveFrom sheet - sheetTo <- formatTime SelFormatDateTime $ sheetActiveTo sheet - hintsFrom <- traverse (formatTime SelFormatDateTime) $ sheetHintFrom sheet + sheetFrom <- formatTime SelFormatDateTime $ sheetActiveFrom sheet + sheetTo <- formatTime SelFormatDateTime $ sheetActiveTo sheet + hintsFrom <- traverse (formatTime SelFormatDateTime) $ sheetHintFrom sheet solutionFrom <- traverse (formatTime SelFormatDateTime) $ sheetSolutionFrom sheet $(widgetFile "sheetShow") diff --git a/src/Utils.hs b/src/Utils.hs index 36412836a..20b1309e2 100644 --- a/src/Utils.hs +++ b/src/Utils.hs @@ -215,6 +215,10 @@ toMaybe :: Bool -> a -> Maybe a toMaybe True = Just toMaybe False = const Nothing +maybeEmpty :: Monoid m => Maybe a -> (a -> m) -> m +maybeEmpty (Just x) f = f x +maybeEmpty Nothing _ = mempty + whenIsJust :: Monad m => Maybe a -> (a -> m ()) -> m () whenIsJust (Just x) f = f x whenIsJust Nothing _ = return () diff --git a/templates/course.hamlet b/templates/course.hamlet index a29a5761b..2f2a56a1e 100644 --- a/templates/course.hamlet +++ b/templates/course.hamlet @@ -15,9 +15,9 @@