Term template angepasst
This commit is contained in:
parent
bb4d6a0df8
commit
43cb2cfa73
@ -89,42 +89,21 @@ getTermEditExistR tid = do
|
|||||||
termEditHandler :: Maybe Term -> Handler Html
|
termEditHandler :: Maybe Term -> Handler Html
|
||||||
termEditHandler term = do
|
termEditHandler term = do
|
||||||
((result, formWidget), formEnctype) <- runFormPost $ newTermForm term
|
((result, formWidget), formEnctype) <- runFormPost $ newTermForm term
|
||||||
action <- lookupPostParam "formaction"
|
case result of
|
||||||
case (result,action) of
|
(FormSuccess res) -> do
|
||||||
(FormSuccess res, fAct)
|
|
||||||
| fAct == formActionDelete -> do
|
|
||||||
runDB $ delete (TermKey $ termName res)
|
|
||||||
let tid = termToText $ termName res
|
|
||||||
let msg = "Semester " `T.append` tid `T.append` " erfolgreich gelöscht."
|
|
||||||
addMessage "warning" [shamlet| #{msg} |]
|
|
||||||
redirect TermShowR
|
|
||||||
| fAct == formActionSave -> 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."
|
||||||
addMessage "success" [shamlet| #{msg} |]
|
addMessage "success" [shamlet| #{msg} |]
|
||||||
redirect TermShowR
|
redirect TermShowR
|
||||||
| otherwise -> redirect TermShowR
|
(FormMissing ) -> return ()
|
||||||
(FormMissing,_) -> return ()
|
(FormFailure _) -> addMessage "warning" "Bitte Eingabe korrigieren."
|
||||||
(FormFailure _,_) -> addMessage "warning" "Bitte Eingabe korrigieren."
|
|
||||||
let formTitle = "Semester editieren/anlegen" :: Text
|
let formTitle = "Semester editieren/anlegen" :: Text
|
||||||
let actionUrl = TermEditR
|
let actionUrl = TermEditR
|
||||||
let formActions = defaultFormActions
|
|
||||||
defaultLayout $ do
|
defaultLayout $ do
|
||||||
setTitle [shamlet| #{formTitle} |]
|
setTitle [shamlet| #{formTitle} |]
|
||||||
$(widgetFile "formPage")
|
$(widgetFile "formPage")
|
||||||
|
|
||||||
{-
|
|
||||||
wdgtTermForm :: (ToWidget UniWorX a) => a -> Enctype -> Handler Html
|
|
||||||
wdgtTermForm formWidget formEnctype = do
|
|
||||||
let formTitle = "Semester editieren/anlegen" :: Text
|
|
||||||
let actionUrl = TermEditR
|
|
||||||
let formActions = defaultFormActions
|
|
||||||
defaultLayout $ do
|
|
||||||
setTitle [shamlet| #{formTitle} |]
|
|
||||||
$(widgetFile "formPage")
|
|
||||||
-}
|
|
||||||
|
|
||||||
newTermForm :: Maybe Term -> Form Term
|
newTermForm :: Maybe Term -> Form Term
|
||||||
newTermForm template html = do
|
newTermForm template html = do
|
||||||
@ -136,7 +115,7 @@ newTermForm template html = do
|
|||||||
<*> areq dayField (bfs ("Beginn Vorlesungen" :: Text)) (termLectureStart <$> template)
|
<*> areq dayField (bfs ("Beginn Vorlesungen" :: Text)) (termLectureStart <$> template)
|
||||||
<*> areq dayField (bfs ("Ende Vorlesungen" :: Text)) (termLectureEnd <$> template)
|
<*> areq dayField (bfs ("Ende Vorlesungen" :: Text)) (termLectureEnd <$> template)
|
||||||
<*> areq checkBoxField (bfs ("Aktiv" :: Text)) (termActive <$> template)
|
<*> areq checkBoxField (bfs ("Aktiv" :: Text)) (termActive <$> template)
|
||||||
-- <* bootstrapSubmit (bsSubmit "Semester bearbeiten")
|
<* submitButton
|
||||||
return $ case result of
|
return $ case result of
|
||||||
FormSuccess termResult
|
FormSuccess termResult
|
||||||
| errorMsgs <- validateTerm termResult
|
| errorMsgs <- validateTerm termResult
|
||||||
|
|||||||
@ -68,8 +68,9 @@ class (Enum a, Bounded a, Ord a, PathPiece a) => Button a where
|
|||||||
cssClass :: a -> ButtonCssClass
|
cssClass :: a -> ButtonCssClass
|
||||||
cssClass _ = BCDefault
|
cssClass _ = BCDefault
|
||||||
|
|
||||||
|
|
||||||
--Some standard Buttons useful throughout
|
|
||||||
|
{- Abort is not useful (press Back instead); Delete should be different:
|
||||||
data StandardButton = BtnDelete | BtnAbort | BtnSave
|
data StandardButton = BtnDelete | BtnAbort | BtnSave
|
||||||
deriving (Enum, Eq, Ord, Bounded, Read, Show)
|
deriving (Enum, Eq, Ord, Bounded, Read, Show)
|
||||||
|
|
||||||
@ -85,6 +86,7 @@ instance Button StandardButton where
|
|||||||
cssClass BtnDelete = BCWarning
|
cssClass BtnDelete = BCWarning
|
||||||
cssClass BtnAbort = BCDefault
|
cssClass BtnAbort = BCDefault
|
||||||
cssClass BtnSave = BCPrimary
|
cssClass BtnSave = BCPrimary
|
||||||
|
-}
|
||||||
|
|
||||||
data SubmitButton = BtnSubmit
|
data SubmitButton = BtnSubmit
|
||||||
deriving (Enum, Eq, Ord, Bounded, Read, Show)
|
deriving (Enum, Eq, Ord, Bounded, Read, Show)
|
||||||
@ -132,13 +134,13 @@ buttonField btn = Field {fieldParse, fieldView, fieldEnctype}
|
|||||||
fieldParse _ _ = return $ Left "Multiple button values"
|
fieldParse _ _ = return $ Left "Multiple button values"
|
||||||
|
|
||||||
|
|
||||||
combinedButtonField1 :: Button a => [a] -> AForm Handler [Maybe a]
|
combinedButtonField :: Button a => [a] -> AForm Handler [Maybe a]
|
||||||
combinedButtonField1 btns = traverse b2f btns
|
combinedButtonField btns = traverse b2f btns
|
||||||
where
|
where
|
||||||
b2f b = aopt (buttonField b) "" Nothing
|
b2f b = aopt (buttonField b) "" Nothing
|
||||||
|
|
||||||
submitButton :: AForm Handler ()
|
submitButton :: AForm Handler ()
|
||||||
submitButton = void $ combinedButtonField1 [BtnSubmit]
|
submitButton = void $ combinedButtonField [BtnSubmit]
|
||||||
|
|
||||||
{-
|
{-
|
||||||
combinedButtonField :: Button a => [a] -> Form m -> Form (a,m)
|
combinedButtonField :: Button a => [a] -> Form m -> Form (a,m)
|
||||||
|
|||||||
@ -11,6 +11,3 @@
|
|||||||
<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}
|
||||||
<div .btn-group>
|
|
||||||
$forall (fAct,bLbl,bCl) <- formActions
|
|
||||||
<button .btn .#{bCl} type=submit name=formaction value=#{fAct}>#{bLbl}
|
|
||||||
|
|||||||
@ -57,6 +57,8 @@
|
|||||||
|
|
||||||
<li .list-group-item>
|
<li .list-group-item>
|
||||||
<a href=@{TermShowR}>Semester Verwaltung
|
<a href=@{TermShowR}>Semester Verwaltung
|
||||||
|
<a href=@{TermEditR}>Neues Semester anlegen
|
||||||
|
|
||||||
|
|
||||||
<li .list-group-item>
|
<li .list-group-item>
|
||||||
<a href=@{CourseEditR}>Kurse anlegen
|
<a href=@{CourseEditR}>Kurse anlegen
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user