diff --git a/messages/uniworx/de.msg b/messages/uniworx/de.msg index 5bedd38af..9e4e1b8fd 100644 --- a/messages/uniworx/de.msg +++ b/messages/uniworx/de.msg @@ -223,6 +223,8 @@ NoCorrector: Kein Korrektor RemovedCorrections num@Int64: Korrektur-Daten wurden von #{display num} Abgaben entfernt. UpdatedAssignedCorrectorsAuto num@Int64: #{display num} Abgaben wurden unter den Korrektoren aufgeteilt. CouldNotAssignCorrectorsAuto num@Int64: #{display num} Abgaben konnten nicht automatisch zugewiesen werden: +SelfCorrectors num@Int64: #{display num} Abgaben haben Abgebenden als eigenen Korrektor zugeteilt + CorrectionsUploaded num@Int64: #{display num} Korrekturen wurden gespeichert: NoCorrectionsUploaded: In der hochgeladenen Datei wurden keine Korrekturen gefunden. diff --git a/src/Handler/Corrections.hs b/src/Handler/Corrections.hs index 8bf5aabe7..94aab5738 100644 --- a/src/Handler/Corrections.hs +++ b/src/Handler/Corrections.hs @@ -280,6 +280,12 @@ correctionsR whereClause (formColonnade -> displayColumns) psValidator actions = , SubmissionRatingAssigned =. Just now -- save, since only applies to unassigned ] addMessageI Success $ MsgUpdatedAssignedCorrectorSingle num + (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 + E.&&. submission E.^. SubmissionRatingBy E.==. E.just (subuser E.^. SubmissionUserUser) + return (E.countRows :: E.SqlExpr (E.Value Int64)) + when (selfCorrectors > 0) $ addMessageI Warning $ MsgSelfCorrectors selfCorrectors redirect currentRoute FormSuccess (CorrSetCorrectorData Nothing, subs') -> do subs <- mapM decrypt $ Set.toList subs'