feat(eeusersr): audit external exam result result edit

This commit is contained in:
Sarah Vaupel 2020-03-03 16:40:15 +01:00
parent baa3fd82e1
commit 0d54757d16

View File

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