From 0d54757d16bebadaeceeb0947df65f15d86ac3e0 Mon Sep 17 00:00:00 2001 From: Sarah Vaupel Date: Tue, 3 Mar 2020 16:40:15 +0100 Subject: [PATCH] feat(eeusersr): audit external exam result result edit --- src/Handler/ExamOffice/ExternalExam.hs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Handler/ExamOffice/ExternalExam.hs b/src/Handler/ExamOffice/ExternalExam.hs index a98836fab..3c9c4bcf1 100644 --- a/src/Handler/ExamOffice/ExternalExam.hs +++ b/src/Handler/ExamOffice/ExternalExam.hs @@ -37,12 +37,19 @@ postEEGradesR tid ssh coursen examn = do redirect $ EExamR tid ssh coursen examn EEGradesR (ExternalExamUserEditResultData examResult, selectedResults) -> do - nrEdited <- do + nrEdited <- fmap getSum . flip foldMapM selectedResults $ \selectedResult -> do now <- liftIO getCurrentTime - updateWhereCount [ ExternalExamResultId <-. Set.toList selectedResults ] + mExtExamRes <- get selectedResult + nrEdit <- updateWhereCount + [ ExternalExamResultId ==. selectedResult ] [ ExternalExamResultResult =. examResult , ExternalExamResultLastChanged =. now ] + if + | Just ExternalExamResult{..} <- mExtExamRes -> do + forM_ [1..nrEdit] $ const $ audit $ TransactionExternalExamResultEdit externalExamResultExam externalExamResultUser + return $ Sum nrEdit + | otherwise -> return mempty return . Just $ do addMessageI Success $ MsgExternalExamResultEdited nrEdited redirect $ EExamR tid ssh coursen examn EEGradesR