chore(audit): audit auto submission corrector assignment + refactor

This commit is contained in:
Sarah Vaupel 2019-08-29 12:10:13 +02:00
parent 50915a6296
commit 9136d9a352
4 changed files with 10 additions and 13 deletions

View File

@ -48,17 +48,13 @@ data Transaction
, transactionUser :: UserId
, transactionCourseApplication :: CourseApplicationId
}
| TransactionSubmissionsCorrectorAssigned
{ transactionSubmissions :: [SubmissionId]
, transactionUser :: UserId
}
| TransactionSubmissionsCorrectionsDeleted
{ transactionSubmissions :: [SubmissionId]
}
| TransactionSubmissionCorrectorUpdated
| TransactionSubmissionCorrectorAssigned
{ transactionSubmission :: SubmissionId
, transactionMbUser :: Maybe UserId
}
| TransactionSubmissionCorrectionDeleted
{ transactionSubmission :: SubmissionId
}
deriving (Eq, Ord, Read, Show, Generic, Typeable)
deriveJSON defaultOptions

View File

@ -465,7 +465,7 @@ correctionsR whereClause displayColumns dbtFilterUI psValidator actions = do
, SubmissionRatingAssigned =. Just now -- save, since only applies to unassigned
]
addMessageI Success $ MsgUpdatedAssignedCorrectorSingle num
audit $ TransactionSubmissionsCorrectorAssigned sIds uid
mapM_ (\sId -> audit $ TransactionSubmissionCorrectorAssigned sId $ Just uid) sIds
(E.Value selfCorrectors:_) <- E.select . E.from $ \(submission `E.InnerJoin` subuser) -> do
E.on $ submission E.^. SubmissionId E.==. subuser E.^. SubmissionUserSubmission
E.where_ $ submission E.^. SubmissionId `E.in_` E.valList subs
@ -484,7 +484,7 @@ correctionsR whereClause displayColumns dbtFilterUI psValidator actions = do
-- , SubmissionRatingComment =. Nothing -- Kept for easy reassignment by 2nd corrector
]
addMessageI Success $ MsgRemovedCorrections num
audit $ TransactionSubmissionsCorrectionsDeleted subs
mapM_ (audit . TransactionSubmissionCorrectionDeleted) subs
redirect currentRoute
FormSuccess (CorrAutoSetCorrectorData shid, subs') -> do
subs <- mapM decrypt $ Set.toList subs'

View File

@ -622,7 +622,7 @@ postSubAssignR tid ssh csh shn cID = do
, SubmissionRatingAssigned =. (now <$ mbUserId)
]
addMessageI Success MsgCorrectorUpdated
audit $ TransactionSubmissionCorrectorUpdated sId mbUserId
audit $ TransactionSubmissionCorrectorAssigned sId mbUserId
redirect actionUrl
let corrForm = wrapForm' BtnSave corrForm' def
{ formAction = Just $ SomeRoute actionUrl

View File

@ -77,10 +77,11 @@ writeSubmissionPlan :: Map SubmissionId (Maybe UserId)
writeSubmissionPlan newSubmissionData = do
now <- liftIO getCurrentTime
execWriterT . forM_ (Map.toList newSubmissionData) $ \(subId, mCorrector) -> case mCorrector of
Just corrector -> do
lift $ update subId [ SubmissionRatingBy =. Just corrector
Just _ -> do
lift $ update subId [ SubmissionRatingBy =. mCorrector
, SubmissionRatingAssigned =. Just now
]
lift $ audit $ TransactionSubmissionCorrectorAssigned subId mCorrector
tell (Set.singleton subId, mempty)
Nothing ->
tell (mempty, Set.singleton subId)