diff --git a/src/Handler/Corrections.hs b/src/Handler/Corrections.hs index 0f33a21f1..4984c421a 100644 --- a/src/Handler/Corrections.hs +++ b/src/Handler/Corrections.hs @@ -708,23 +708,15 @@ postCorrectionsCreateR = do when (null groups) $ addMessageI Warning $ MsgSheetNoRegisteredGroup sheetGroupDesc | otherwise -> addMessageI Error $ MsgSheetAmbiguousRegisteredGroup sheetGroupDesc - NoGroups - | [SheetPseudonym{sheetPseudonymUser}] <- spGroup - -> do - subId <- insert submissionPrototype - void . insert $ SubmissionEdit uid now subId - insert_ SubmissionUser - { submissionUserUser = sheetPseudonymUser - , submissionUserSubmission = subId - } - | otherwise -> do - subId <- insert submissionPrototype - void . insert $ SubmissionEdit uid now subId - insertMany_ . flip map spGroup $ \SheetPseudonym{sheetPseudonymUser} -> SubmissionUser - { submissionUserUser = sheetPseudonymUser - , submissionUserSubmission = subId - } - addMessageI Warning $ MsgSheetNoGroupSubmission sheetGroupDesc + NoGroups -> do + subId <- insert submissionPrototype + void . insert $ SubmissionEdit uid now subId + insertMany_ . flip map spGroup $ \SheetPseudonym{sheetPseudonymUser} -> SubmissionUser + { submissionUserUser = sheetPseudonymUser + , submissionUserSubmission = subId + } + when (length spGroup > 1) $ + addMessageI Warning $ MsgSheetNoGroupSubmission sheetGroupDesc redirect CorrectionsGradeR