MultiButton: Term deletion working
This commit is contained in:
parent
34df734b5e
commit
6d1c3bad06
@ -69,19 +69,26 @@ getEditTermMaybeR mbTerm= do
|
|||||||
let actionurl = EditTermR
|
let actionurl = EditTermR
|
||||||
defaultLayout $ do
|
defaultLayout $ do
|
||||||
setTitle [shamlet| #{formtitle} |]
|
setTitle [shamlet| #{formtitle} |]
|
||||||
$(widgetFile "generic_form")
|
$(widgetFile "generic_form_delete")
|
||||||
|
|
||||||
|
|
||||||
postEditTermR :: Handler Html
|
postEditTermR :: Handler Html
|
||||||
postEditTermR = do
|
postEditTermR = do
|
||||||
aid <- requireAuthId
|
aid <- requireAuthId
|
||||||
((result, formWidget), formEnctype) <- runFormPost $ newTermForm Nothing
|
((result, formWidget), formEnctype) <- runFormPost $ newTermForm Nothing
|
||||||
case result of
|
action <- lookupPostParam "action"
|
||||||
FormSuccess res -> do
|
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
|
-- term <- runDB $ get $ TermKey termName
|
||||||
runDB $ repsert (TermKey $ termName res) res
|
runDB $ repsert (TermKey $ termName res) res
|
||||||
let tid = termToText $ termName 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 okay = termStart res `withinTerm` termName res
|
||||||
let order = termStart res <= termEnd res
|
let order = termStart res <= termEnd res
|
||||||
setMessage [shamlet| #{msg}
|
setMessage [shamlet| #{msg}
|
||||||
@ -92,16 +99,18 @@ postEditTermR = do
|
|||||||
<p .bg-danger>
|
<p .bg-danger>
|
||||||
Ende des Semesters liegt vor dem Start!
|
Ende des Semesters liegt vor dem Start!
|
||||||
|]
|
|]
|
||||||
|
redirect ShowTermsR
|
||||||
|
(FormSuccess res, _) ->
|
||||||
redirect ShowTermsR
|
redirect ShowTermsR
|
||||||
FormMissing -> do
|
(FormMissing,_) -> do
|
||||||
setMessage "Keine Formulardaten erhalten."
|
setMessage "Keine Formulardaten erhalten."
|
||||||
let formtitle = "Semester editieren/anlegen" :: Text
|
let formtitle = "Semester editieren/anlegen" :: Text
|
||||||
let actionurl = EditTermR
|
let actionurl = EditTermR
|
||||||
defaultLayout $ do
|
defaultLayout $ do
|
||||||
setTitle [shamlet| #{formtitle} |]
|
setTitle [shamlet| #{formtitle} |]
|
||||||
$(widgetFile "generic_form")
|
$(widgetFile "generic_form_delete")
|
||||||
|
|
||||||
FormFailure errorMsgs -> do
|
(FormFailure errorMsgs,_) -> do
|
||||||
setMessage [shamlet|
|
setMessage [shamlet|
|
||||||
<p .bg-danger>Fehler:
|
<p .bg-danger>Fehler:
|
||||||
<ul>
|
<ul>
|
||||||
@ -112,8 +121,8 @@ postEditTermR = do
|
|||||||
let actionurl = EditTermR
|
let actionurl = EditTermR
|
||||||
defaultLayout $ do
|
defaultLayout $ do
|
||||||
setTitle [shamlet| #{formtitle} |]
|
setTitle [shamlet| #{formtitle} |]
|
||||||
$(widgetFile "generic_form")
|
$(widgetFile "generic_form_delete")
|
||||||
|
|
||||||
newTermForm :: Maybe Term -> Form Term
|
newTermForm :: Maybe Term -> Form Term
|
||||||
newTermForm template =
|
newTermForm template =
|
||||||
renderBootstrap3 bsHorizontalDefault $ Term
|
renderBootstrap3 bsHorizontalDefault $ Term
|
||||||
@ -122,7 +131,7 @@ newTermForm template =
|
|||||||
<*> areq dayField (set "Letzer Tag") (termEnd <$> 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
|
<*> pure [] -- TODO: List of Day field required, must probably be done as its own form and then combined
|
||||||
<*> areq checkBoxField (set "Aktiv") (termActive <$> template)
|
<*> areq checkBoxField (set "Aktiv") (termActive <$> template)
|
||||||
<* bootstrapSubmit (bsSubmit "Semester bearbeiten")
|
-- <* bootstrapSubmit (bsSubmit "Semester bearbeiten")
|
||||||
where set txt = FieldSettings
|
where set txt = FieldSettings
|
||||||
{ fsLabel = txt
|
{ fsLabel = txt
|
||||||
, fsTooltip = Nothing
|
, fsTooltip = Nothing
|
||||||
|
|||||||
@ -10,5 +10,4 @@
|
|||||||
<div .col-lg-6>
|
<div .col-lg-6>
|
||||||
<div .bs-callout bs-callout-info well>
|
<div .bs-callout bs-callout-info well>
|
||||||
<form .form-horizontal method=post action=@{actionurl}#forms enctype=#{formEnctype}>
|
<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
|
||||||
Reference in New Issue
Block a user