diff --git a/messages/de.msg b/messages/de.msg index bee6713b6..7209a88d6 100644 --- a/messages/de.msg +++ b/messages/de.msg @@ -26,6 +26,7 @@ TermPlaceholder: W/S + vierstellige Jahreszahl LectureStart: Beginn Vorlesungen Course: Kurs +CourseNoCapacity: In diesem Kurs sind keine Plätze mehr frei. CourseSecret: Zugangspasswort CourseNewOk tid@TermId courseShortHand@Text: Kurs #{display tid}-#{courseShortHand} wurde erfolgreich erstellt. CourseEditOk tid@TermId courseShortHand@Text: Kurs #{display tid}-#{courseShortHand} wurde erfolgreich geändert. diff --git a/src/Handler/Course.hs b/src/Handler/Course.hs index 9b8c787cb..a114a0484 100644 --- a/src/Handler/Course.hs +++ b/src/Handler/Course.hs @@ -127,7 +127,14 @@ postCRegisterR tid csh = do addMessage "info" "Sie wurden abgemeldet." | codeOk -> do actTime <- liftIO $ getCurrentTime - regOk <- runDB $ insertUnique $ CourseParticipant cid aid actTime + regOk <- runDB $ do + reg <- count [CourseParticipantCourse ==. cid] + if NTop (Just reg) < NTop (courseCapacity course) + then -- current capacity has room + insertUnique $ CourseParticipant cid aid actTime + else do -- no space left + addMessageI "danger" MsgCourseNoCapacity + return Nothing when (isJust regOk) $ addMessage "success" "Erfolgreich angemeldet!" | otherwise -> addMessage "danger" "Falsches Kennwort!" (_other) -> return () -- TODO check this! diff --git a/src/Handler/Users.hs b/src/Handler/Users.hs index a9d57a982..17aadafb9 100644 --- a/src/Handler/Users.hs +++ b/src/Handler/Users.hs @@ -39,8 +39,8 @@ getUsersR = do cID <- encrypt $ entityKey $ fst3 u let name = display $ userDisplayName $ entityVal $ fst3 u [whamlet|#{name}|] - , headed "Admin for Schools" $ (\u -> text2widget $ intercalate ", " $ map (getSchoolname.userAdminSchool .entityVal) $ snd3 u) - , headed "Lecturer at Schools" $ (\u -> text2widget $ intercalate ", " $ map (getSchoolname.userLecturerSchool.entityVal) $ trd3 u) + , headed "Admin" $ (\u -> text2widget $ intercalate ", " $ map (getSchoolname.userAdminSchool .entityVal) $ snd3 u) + , headed "Lecturer" $ (\u -> text2widget $ intercalate ", " $ map (getSchoolname.userLecturerSchool.entityVal) $ trd3 u) ] -- ++ map (\school -> headed (text2widget $ schoolName $ entityVal school) (\u -> "xx")) schools defaultLayout $ do