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 @@
#{link} - $if NTop (Just 0) < NTop (courseCapacity course) -
Teilnehmer -
+$# $if NTop (Just 0) < NTop (courseCapacity course) +
Teilnehmer +
#{participants} $maybe capacity <- courseCapacity course @@ -36,6 +36,15 @@
$# regWidget is defined through templates/widgets/registerForm ^{regWidget} +
+ Material +
+
+ $if courseMaterialFree course + Das Kursmaterial ist ohne Anmeldung frei zugänglich. + $else + Eine Anmeldung zum Kurs ist Voraussetzung zum Zugang zu Kursmaterial + (z.B. Übungsblätter). $#
$#
diff --git a/templates/sheetShow.hamlet b/templates/sheetShow.hamlet index 71b1cf633..012ada784 100644 --- a/templates/sheetShow.hamlet +++ b/templates/sheetShow.hamlet @@ -12,7 +12,7 @@ #{marking}

- Freigeschaltet ab + Download und Abgabe freigeschaltet ab #{sheetFrom}