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
+
+