fix(schedule): reintroduce form failure handling
This commit is contained in:
parent
fe4507cdad
commit
ae0e3f797f
@ -42,13 +42,11 @@ postScheduleR = do
|
|||||||
, fsAttrs = if sView == scheduleView currentScheduleOptions then [("disabled","")] else mempty
|
, fsAttrs = if sView == scheduleView currentScheduleOptions then [("disabled","")] else mempty
|
||||||
}) Nothing
|
}) Nothing
|
||||||
viewRes <- if
|
viewRes <- if
|
||||||
-- TODO: ignoring FormFailures for now
|
| Just errs <- fromNullable (filter (is _FormFailure) viewRess) -> do
|
||||||
-- | Just errs <- fromNullable (filter (is _FormFailure) viewRess) -> do
|
mapM_ formFailure2Alerts errs
|
||||||
-- mapM_ formFailure2Alerts errs
|
(return . FormFailure . mconcat . catMaybes . (fmap $ preview _FormFailure) . toNullable) errs
|
||||||
-- $logInfoS "SCHEDULE-VIEW" $ "encountered error(s): " <> tshow errs
|
|
||||||
-- (return . FormFailure . mconcat . catMaybes . (fmap $ preview _FormFailure) . toNullable) errs
|
|
||||||
| otherwise -> case catMaybes $ catMaybes (formResultToMaybe <$> viewRess) of
|
| otherwise -> case catMaybes $ catMaybes (formResultToMaybe <$> viewRess) of
|
||||||
[ScheduleOptions{scheduleView=sView}] -> return $ FormSuccess $ ScheduleOptions
|
[ScheduleOptions{scheduleView=sView}] -> (return . FormSuccess) $ ScheduleOptions
|
||||||
{ scheduleView = sView
|
{ scheduleView = sView
|
||||||
, scheduleOffset = ScheduleOffsetNone
|
, scheduleOffset = ScheduleOffsetNone
|
||||||
, scheduleOptionsAction = ScheduleSetView
|
, scheduleOptionsAction = ScheduleSetView
|
||||||
@ -78,17 +76,14 @@ postScheduleR = do
|
|||||||
, fsAttrs = if offsetInDays (scheduleOffset btn) == offsetInDays (scheduleOffset currentScheduleOptions) then [("disabled","")] else mempty
|
, fsAttrs = if offsetInDays (scheduleOffset btn) == offsetInDays (scheduleOffset currentScheduleOptions) then [("disabled","")] else mempty
|
||||||
}) Nothing
|
}) Nothing
|
||||||
offsetRes <- if
|
offsetRes <- if
|
||||||
-- TODO: ignoring FormFailures for now
|
| Just errs <- fromNullable (filter (is _FormFailure) offsetRess) -> do
|
||||||
-- | Just errs <- fromNullable (filter (is _FormFailure) offsetRess) -> do
|
mapM_ formFailure2Alerts errs
|
||||||
-- mapM_ formFailure2Alerts errs
|
(return . FormFailure . mconcat . catMaybes . (fmap $ preview _FormFailure) . toNullable) errs
|
||||||
-- $logInfoS "SCHEDULE-OFFSET" $ "encountered error(s): " <> tshow errs
|
|
||||||
-- (return . FormFailure . mconcat . catMaybes . (fmap $ preview _FormFailure) . toNullable) errs
|
|
||||||
| otherwise -> case catMaybes $ catMaybes (formResultToMaybe <$> offsetRess) of
|
| otherwise -> case catMaybes $ catMaybes (formResultToMaybe <$> offsetRess) of
|
||||||
[opt] -> return $ FormSuccess opt
|
[opt] -> return $ FormSuccess opt
|
||||||
_ -> return $ FormSuccess currentScheduleOptions
|
_ -> return $ FormSuccess currentScheduleOptions
|
||||||
|
|
||||||
let
|
let
|
||||||
-- TODO: work in progress
|
|
||||||
scheduleResult = case (viewRes, offsetRes) of
|
scheduleResult = case (viewRes, offsetRes) of
|
||||||
(_, opts@(FormSuccess _)) -> opts
|
(_, opts@(FormSuccess _)) -> opts
|
||||||
(opts@(FormSuccess _), _) -> opts
|
(opts@(FormSuccess _), _) -> opts
|
||||||
@ -99,10 +94,9 @@ postScheduleR = do
|
|||||||
|
|
||||||
((optionsRes, optionsWidget), optionsEnctype) <- runFormGet scheduleOptionsForm
|
((optionsRes, optionsWidget), optionsEnctype) <- runFormGet scheduleOptionsForm
|
||||||
|
|
||||||
let
|
schedule <- case optionsRes of
|
||||||
schedule = case optionsRes of
|
FormSuccess ScheduleOptions{scheduleView=ScheduleViewWeek,..} -> return $ weekSchedule uid scheduleOffset
|
||||||
FormSuccess ScheduleOptions{scheduleView=ScheduleViewWeek,..} -> weekSchedule uid scheduleOffset
|
other -> formFailure2Alerts other >> return mempty
|
||||||
_ -> mempty -- TODO: don't swallow errors!
|
|
||||||
|
|
||||||
siteLayoutMsg MsgMenuSchedule $ do
|
siteLayoutMsg MsgMenuSchedule $ do
|
||||||
setTitleI MsgMenuSchedule
|
setTitleI MsgMenuSchedule
|
||||||
|
|||||||
Reference in New Issue
Block a user