chore(audit): audit submission file edits and deletes
This commit is contained in:
parent
f462d44c49
commit
5f0afbd11d
@ -482,8 +482,8 @@ sinkSubmission userId mExists isUpdate = do
|
||||
audit $ TransactionSubmissionFileEdit subFileId submissionId fileId
|
||||
when undoneDeletion $ do
|
||||
touchSubmission
|
||||
lift $ forM_ [ (sfId, submissionFileFile sf) | (_, Entity sfId sf) <- collidingFiles, submissionFileIsDeletion sf ] $ \(sfId, fId) -> audit $ TransactionSubmissionFileDelete sfId submissionId fId
|
||||
lift $ deleteWhere [ SubmissionFileId <-. [ sfId | (_, Entity sfId sf) <- collidingFiles, submissionFileIsDeletion sf ] ]
|
||||
-- audit $ TransactionSubmissionFileDelete sfId submissionId fId -- TODO: get sfId, fId
|
||||
|
||||
Right (submissionId', r) -> do
|
||||
$logDebugS "sinkSubmission" $ tshow submissionId'
|
||||
@ -534,7 +534,8 @@ sinkSubmission userId mExists isUpdate = do
|
||||
when (submissionRatingDone submission' && not (submissionRatingDone submission)) $
|
||||
tellSt mempty { sinkSubmissionNotifyRating = Any True }
|
||||
lift $ replace submissionId submission'
|
||||
-- audit $ TransactionSubmissionEdit submissionId sheetId -- TODO: get sheetId
|
||||
sheetId <- lift $ getSheetId
|
||||
lift $ audit $ TransactionSubmissionEdit submissionId sheetId
|
||||
where
|
||||
a /~ b = not $ a ~~ b
|
||||
|
||||
@ -565,6 +566,13 @@ sinkSubmission userId mExists isUpdate = do
|
||||
when (is _Just submissionRatingTime) $
|
||||
lift $ update submissionId [ SubmissionRatingTime =. Just now ]
|
||||
tellSt $ mempty{ sinkSubmissionTouched = Any True }
|
||||
|
||||
getSheetId :: MonadIO m => ReaderT SqlBackend m SheetId
|
||||
getSheetId = case mExists of
|
||||
Left shid -> return shid
|
||||
Right _ -> do
|
||||
Just Submission{submissionSheet} <- E.get submissionId -- there must have been a submission, otherwise mExists would have been Left shid
|
||||
return submissionSheet
|
||||
|
||||
finalize :: SubmissionSinkState -> YesodJobDB UniWorX ()
|
||||
finalize SubmissionSinkState{..} = do
|
||||
@ -608,7 +616,8 @@ sinkSubmission userId mExists isUpdate = do
|
||||
, isn't (_Wrapped . _Just) sinkSeenRating
|
||||
-> do
|
||||
update submissionId [ SubmissionRatingTime =. Nothing, SubmissionRatingPoints =. Nothing, SubmissionRatingComment =. Nothing]
|
||||
-- audit $ TransactionSubmissionEdit submissionId sheetId -- TODO: get sheetId
|
||||
sheetId <- getSheetId
|
||||
audit $ TransactionSubmissionEdit submissionId sheetId
|
||||
| isUpdate
|
||||
, getAny sinkSubmissionNotifyRating
|
||||
-> queueDBJob . JobQueueNotification $ NotificationSubmissionRated submissionId
|
||||
|
||||
Loading…
Reference in New Issue
Block a user