MultiButton: Term deletion working
This commit is contained in:
parent
34df734b5e
commit
6d1c3bad06
@ -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
|
||||
<p .bg-danger>
|
||||
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|
|
||||
<p .bg-danger>Fehler:
|
||||
<ul>
|
||||
@ -112,8 +121,8 @@ postEditTermR = do
|
||||
let actionurl = EditTermR
|
||||
defaultLayout $ do
|
||||
setTitle [shamlet| #{formtitle} |]
|
||||
$(widgetFile "generic_form")
|
||||
|
||||
$(widgetFile "generic_form_delete")
|
||||
|
||||
newTermForm :: Maybe Term -> Form Term
|
||||
newTermForm template =
|
||||
renderBootstrap3 bsHorizontalDefault $ Term
|
||||
@ -122,7 +131,7 @@ newTermForm template =
|
||||
<*> areq dayField (set "Letzer Tag") (termEnd <$> template)
|
||||
<*> pure [] -- TODO: List of Day field required, must probably be done as its own form and then combined
|
||||
<*> areq checkBoxField (set "Aktiv") (termActive <$> template)
|
||||
<* bootstrapSubmit (bsSubmit "Semester bearbeiten")
|
||||
-- <* bootstrapSubmit (bsSubmit "Semester bearbeiten")
|
||||
where set txt = FieldSettings
|
||||
{ fsLabel = txt
|
||||
, fsTooltip = Nothing
|
||||
|
||||
@ -10,5 +10,4 @@
|
||||
<div .col-lg-6>
|
||||
<div .bs-callout bs-callout-info well>
|
||||
<form .form-horizontal method=post action=@{actionurl}#forms enctype=#{formEnctype}>
|
||||
^{formWidget}
|
||||
|
||||
^{formWidget}
|
||||
|
||||
17
templates/generic_form_delete.hamlet
Normal file
17
templates/generic_form_delete.hamlet
Normal file
@ -0,0 +1,17 @@
|
||||
<div .container>
|
||||
<div .bs-docs-section>
|
||||
<div .row>
|
||||
<div .col-lg-12>
|
||||
<div .page-header>
|
||||
<h1 #forms>
|
||||
#{formtitle}
|
||||
|
||||
<div .row>
|
||||
<div .col-lg-6>
|
||||
<div .bs-callout bs-callout-info well>
|
||||
<form .form-horizontal method=post action=@{actionurl}#forms enctype=#{formEnctype}>
|
||||
^{formWidget}
|
||||
<div .btn-group>
|
||||
<button .btn .btn-warning type=submit name=action value=delete>Löschen
|
||||
<button .btn .btn-default type=submit name=action value=abort>Abbrechen
|
||||
<button .btn .btn-primary type=submit name=action value=save>Speichern
|
||||
Loading…
Reference in New Issue
Block a user