diff --git a/src/Handler/Term.hs b/src/Handler/Term.hs index cb8e0c5d4..7dc59513d 100644 --- a/src/Handler/Term.hs +++ b/src/Handler/Term.hs @@ -69,19 +69,26 @@ getEditTermMaybeR mbTerm= do let actionurl = EditTermR defaultLayout $ do setTitle [shamlet| #{formtitle} |] - $(widgetFile "generic_form") + $(widgetFile "generic_form_delete") postEditTermR :: Handler Html postEditTermR = do aid <- requireAuthId ((result, formWidget), formEnctype) <- runFormPost $ newTermForm Nothing - case result of - FormSuccess res -> do + action <- lookupPostParam "action" + case (result,action) of + (FormSuccess res, Just "delete") -> do + runDB $ delete (TermKey $ termName res) + let tid = termToText $ termName res + let msg = "Semester " `T.append` tid `T.append` " erfolgreich gelöscht." + setMessage [shamlet| #{msg} |] + redirect ShowTermsR + (FormSuccess res, Just "save") -> do -- term <- runDB $ get $ TermKey termName runDB $ repsert (TermKey $ termName res) res let tid = termToText $ termName res - let msg = "Semester " `T.append` tid `T.append` " erfolgreich editiert!" + let msg = "Semester " `T.append` tid `T.append` " erfolgreich editiert." let okay = termStart res `withinTerm` termName res let order = termStart res <= termEnd res setMessage [shamlet| #{msg} @@ -92,16 +99,18 @@ postEditTermR = do

Ende des Semesters liegt vor dem Start! |] + redirect ShowTermsR + (FormSuccess res, _) -> redirect ShowTermsR - FormMissing -> do + (FormMissing,_) -> do setMessage "Keine Formulardaten erhalten." let formtitle = "Semester editieren/anlegen" :: Text let actionurl = EditTermR defaultLayout $ do setTitle [shamlet| #{formtitle} |] - $(widgetFile "generic_form") + $(widgetFile "generic_form_delete") - FormFailure errorMsgs -> do + (FormFailure errorMsgs,_) -> do setMessage [shamlet|

Fehler: