diff --git a/src/Handler/Corrections.hs b/src/Handler/Corrections.hs index 4984c421a..63867d4d4 100644 --- a/src/Handler/Corrections.hs +++ b/src/Handler/Corrections.hs @@ -680,17 +680,15 @@ postCorrectionsCreateR = do -> let sheetGroupDesc = Text.intercalate ", " $ map (review _PseudonymText . sheetPseudonymPseudonym) spGroup in case sheetGrouping of - Arbitrary maxSize - | genericLength spGroup > maxSize - -> addMessageI Error $ MsgSheetGroupTooLarge sheetGroupDesc - | otherwise - -> do - subId <- insert submissionPrototype - void . insert $ SubmissionEdit uid now subId - insertMany_ . flip map spGroup $ \SheetPseudonym{sheetPseudonymUser} -> SubmissionUser - { submissionUserUser = sheetPseudonymUser - , submissionUserSubmission = subId - } + Arbitrary maxSize -> do + subId <- insert submissionPrototype + void . insert $ SubmissionEdit uid now subId + insertMany_ . flip map spGroup $ \SheetPseudonym{sheetPseudonymUser} -> SubmissionUser + { submissionUserUser = sheetPseudonymUser + , submissionUserSubmission = subId + } + when (genericLength spGroup > maxSize) $ + addMessageI Warning $ MsgSheetGroupTooLarge sheetGroupDesc RegisteredGroups -> do groups <- E.select . E.from $ \submissionGroup -> do E.where_ . E.exists . E.from $ \submissionGroupUser ->