diff --git a/src/Handler/Sheet.hs b/src/Handler/Sheet.hs index ffe76f342..c938932d6 100644 --- a/src/Handler/Sheet.hs +++ b/src/Handler/Sheet.hs @@ -484,21 +484,22 @@ handleSheetEdit tid ssh csh msId template dbAction = do saveOkay <- runDB $ do actTime <- liftIO getCurrentTime cid <- getKeyBy404 $ TermSchoolCourseShort tid ssh csh + oldAutoDistribute <- fmap sheetAutoDistribute . join <$> traverse get msId let newSheet = Sheet - { sheetCourse = cid - , sheetName = sfName - , sheetDescription = sfDescription - , sheetType = sfType - , sheetGrouping = sfGrouping - , sheetMarkingText = sfMarkingText - , sheetVisibleFrom = sfVisibleFrom - , sheetActiveFrom = sfActiveFrom - , sheetActiveTo = sfActiveTo - , sheetHintFrom = sfHintFrom - , sheetSolutionFrom = sfSolutionFrom - , sheetUploadMode = sfUploadMode + { sheetCourse = cid + , sheetName = sfName + , sheetDescription = sfDescription + , sheetType = sfType + , sheetGrouping = sfGrouping + , sheetMarkingText = sfMarkingText + , sheetVisibleFrom = sfVisibleFrom + , sheetActiveFrom = sfActiveFrom + , sheetActiveTo = sfActiveTo + , sheetHintFrom = sfHintFrom + , sheetSolutionFrom = sfSolutionFrom + , sheetUploadMode = sfUploadMode , sheetSubmissionMode = sfSubmissionMode - , sheetAutoDistribute = False + , sheetAutoDistribute = fromMaybe False oldAutoDistribute } mbsid <- dbAction newSheet case mbsid of