From 970076e7307d18424837957133e0086aa78bbafb Mon Sep 17 00:00:00 2001 From: Sarah Vaupel Date: Thu, 6 Feb 2020 12:54:40 +0100 Subject: [PATCH] feat(exam-correct): examResult interface, no styling or functionality --- src/Handler/Exam/Correct.hs | 7 ++++++- templates/exam-correct.hamlet | 25 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/Handler/Exam/Correct.hs b/src/Handler/Exam/Correct.hs index 21cd87457..5df19d1a3 100644 --- a/src/Handler/Exam/Correct.hs +++ b/src/Handler/Exam/Correct.hs @@ -70,9 +70,11 @@ getECorrectR tid ssh csh examn = do MsgRenderer mr <- getMsgRenderer (Entity eId Exam{..}, examParts) <- runDB $ do - exam@(Entity eId Exam{..}) <- fetchExam tid ssh csh examn + exam@(Entity eId _) <- fetchExam tid ssh csh examn examParts <- sortOn (view $ _entityVal . _examPartNumber) <$> selectList [ ExamPartExam ==. eId ] [ Asc ExamPartName ] return (exam, entityVal <$> examParts) + + mayEditResults <- hasWriteAccessTo $ CExamR tid ssh csh examn EUsersR let heading = prependCourseTitle tid ssh csh $ (mr . MsgExamCorrectHeading . CI.original) examName @@ -84,6 +86,9 @@ getECorrectR tid ssh csh examn = do participantHeadTooltip = [whamlet| _{MsgExamCorrectHeadParticipantTooltip} |] + examGrades :: [ExamGrade] + examGrades = universeF + examCorrectIdent <- encrypt eId :: Handler CryptoUUIDExam siteLayoutMsg heading $ do diff --git a/templates/exam-correct.hamlet b/templates/exam-correct.hamlet index 267580182..70bfda101 100644 --- a/templates/exam-correct.hamlet +++ b/templates/exam-correct.hamlet @@ -20,6 +20,9 @@ $newline never _{MsgExamCorrectHeadPartName name} $nothing _{MsgExamCorrectHeadPart examPartNumber} + $if mayEditResults + + _{MsgExamResult} _{MsgExamCorrectHeadStatus} @@ -32,6 +35,28 @@ $newline never $forall ExamPart{examPartNumber} <- examParts ^{ptsInput examPartNumber} + $if mayEditResults + + + $forall grade <- (toPathPiece <$> examGrades) +