diff --git a/routes b/routes index 014a25e28..9698bb8a5 100644 --- a/routes +++ b/routes @@ -59,6 +59,9 @@ / CShowR GET !free /register CRegisterR POST !timeANDcapacity /edit CEditR GET POST + /users CUsersR GET + /user/#CryptoUUIDUser CUserR GET + /correctors CHiWisR GET /subs CCorrectionsR GET POST /ex SheetListR GET !registered !materials !/ex/new SheetNewR GET POST @@ -77,10 +80,6 @@ /correctors SCorrR GET POST !/#SheetFileType/*FilePath SFileR GET !timeANDregistered !timeANDmaterials !corrector --- /user/#CryptoUUIDUser --- /users --- /correctors - /corrections CorrectionsR GET POST !corrector !lecturer /corrections/upload CorrectionsUploadR GET POST !corrector !lecturer diff --git a/src/Handler/Admin.hs b/src/Handler/Admin.hs index d0682f855..ad6e06bed 100644 --- a/src/Handler/Admin.hs +++ b/src/Handler/Admin.hs @@ -66,6 +66,6 @@ getAdminUserR uuid = do defaultLayout $ [whamlet|

TODO -

Admin Page for User #{display userDisplayName} +

Admin Page for User ^{nameWidget userDisplayName userSurname} |] diff --git a/src/Handler/Corrections.hs b/src/Handler/Corrections.hs index d4692c59d..86bb8936f 100644 --- a/src/Handler/Corrections.hs +++ b/src/Handler/Corrections.hs @@ -123,8 +123,13 @@ colSelect :: Colonnade _ CorrectionTableData (DBCell _ (FormResult (DBFormResult colSelect = dbSelect id $ \DBRow{ dbrOutput=(Entity subId _, _, _, _, _) } -> encrypt subId colSubmittors :: IsDBTable m a => Colonnade _ CorrectionTableData (DBCell m a) -colSubmittors = sortable Nothing (i18nCell MsgSubmissionUsers) $ \DBRow{ dbrOutput=(_, _, _, _, users) } -> let - cell = listCell (Map.toList users) $ \(userId, User{..}) -> anchorCellM (AdminUserR <$> encrypt userId) (toWidget userDisplayName) +colSubmittors = sortable Nothing (i18nCell MsgSubmissionUsers) $ \DBRow{ dbrOutput=(_, _, course, _, users) } -> let + csh = course ^. _2 + tid = course ^. _3 + ssh = course ^. _4 + link cid = CourseR tid ssh csh $ CUserR cid + cell = listCell (Map.toList users) $ \(userId, User{..}) -> do + anchorCellM (link <$> encrypt userId) (nameWidget userDisplayName userSurname) in cell & cellAttrs <>~ [("class", "list--inline list--comma-separated")] colSMatrikel :: IsDBTable m a => Colonnade _ CorrectionTableData (DBCell m a) @@ -379,10 +384,11 @@ postSSubsR tid ssh csh shn = do colonnade = mconcat [ colSelect , dbRow - , colCorrector + , colSMatrikel , colSubmittors , colSubmissionLink , colRating + , colCorrector ] psValidator = def correctionsR whereClause colonnade psValidator $ Map.fromList diff --git a/src/Handler/Course.hs b/src/Handler/Course.hs index 62a2bf89d..6dd5c277a 100644 --- a/src/Handler/Course.hs +++ b/src/Handler/Course.hs @@ -587,3 +587,24 @@ validateCourse (CourseForm{..}) = -- ) -- , ] ] + + + +getCUsersR :: TermId -> SchoolId -> CourseShorthand -> Handler Html +getCUsersR tid ssh csh = undefined -- TODO + + +getCUserR :: TermId -> SchoolId -> CourseShorthand -> CryptoUUIDUser -> Handler Html +getCUserR tid ssh csh uuid = do + uid <- decrypt uuid + User{..} <- runDB $ get404 uid + defaultLayout $ + [whamlet| +

TODO +

Lecturer's Page for User ^{nameWidget userDisplayName userSurname} + |] + +getCHiWisR :: TermId -> SchoolId -> CourseShorthand -> Handler Html +getCHiWisR tid ssh csh = undefined -- TODO + +