Be less restrictive when creating submissions

Allow groups larger than maximum group submission size in principle
This commit is contained in:
Gregor Kleen 2018-12-05 12:06:16 +01:00
parent 2a19b9368e
commit 9ca0c1b0e3

View File

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