diff --git a/README.md b/README.md
index b35ae1d3e..2fbf8207f 100644
--- a/README.md
+++ b/README.md
@@ -67,3 +67,24 @@ Assuming Ubuntu or similar
stack:
https://docs.haskellstack.org/en/stable/README/#how-to-install
ldap:
https://wiki.ubuntuusers.de/OpenLDAP_ab_Precise/
+
+
+***
+
+# PostgreSQL
+
+Starten als Root:
+
+# systemctl start postgresql
+# find / -name postgresql.conf
+# cd /var/lib/pgsql/data/
+# su - postgres
+
+
+psql -U uniworx -d uniworx -h 127.0.0.1 -w
+
+--Zeige Tabellen
+\dt
+
+--Lösche Tabelle "course" und alle davon abhängigen:
+DROP TABLE "course" CASCADE;
diff --git a/src/Handler/Course.hs b/src/Handler/Course.hs
index c8ca18323..28250fb7d 100644
--- a/src/Handler/Course.hs
+++ b/src/Handler/Course.hs
@@ -221,7 +221,7 @@ courseEditHandler course = do
let formActions = defaultFormActions
defaultLayout $ do
setTitle [shamlet| #{formTitle} |]
- $(widgetFile "generic_form")
+ $(widgetFile "formPage")
data CourseForm = CourseForm
diff --git a/src/Handler/Term.hs b/src/Handler/Term.hs
index e41e24fc3..38eaea847 100644
--- a/src/Handler/Term.hs
+++ b/src/Handler/Term.hs
@@ -89,42 +89,21 @@ getTermEditExistR tid = do
termEditHandler :: Maybe Term -> Handler Html
termEditHandler term = do
((result, formWidget), formEnctype) <- runFormPost $ newTermForm term
- action <- lookupPostParam "formaction"
- case (result,action) of
- (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
+ case result of
+ (FormSuccess res) -> 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."
addMessage "success" [shamlet| #{msg} |]
- redirect TermShowR
- | otherwise -> redirect TermShowR
- (FormMissing,_) -> return ()
- (FormFailure _,_) -> addMessage "warning" "Bitte Eingabe korrigieren."
+ redirect TermShowR
+ (FormMissing ) -> return ()
+ (FormFailure _) -> addMessage "warning" "Bitte Eingabe korrigieren."
let formTitle = "Semester editieren/anlegen" :: Text
let actionUrl = TermEditR
- let formActions = defaultFormActions
defaultLayout $ do
setTitle [shamlet| #{formTitle} |]
- $(widgetFile "generic_form")
-
-{-
-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 "generic_form")
--}
+ $(widgetFile "formPage")
newTermForm :: Maybe Term -> Form Term
newTermForm template html = do
@@ -136,7 +115,7 @@ newTermForm template html = do
<*> areq dayField (bfs ("Beginn Vorlesungen" :: Text)) (termLectureStart <$> template)
<*> areq dayField (bfs ("Ende Vorlesungen" :: Text)) (termLectureEnd <$> template)
<*> areq checkBoxField (bfs ("Aktiv" :: Text)) (termActive <$> template)
- -- <* bootstrapSubmit (bsSubmit "Semester bearbeiten")
+ <* submitButton
return $ case result of
FormSuccess termResult
| errorMsgs <- validateTerm termResult
diff --git a/src/Handler/Utils/Form.hs b/src/Handler/Utils/Form.hs
index 5f0b3905a..7759f81de 100644
--- a/src/Handler/Utils/Form.hs
+++ b/src/Handler/Utils/Form.hs
@@ -69,7 +69,8 @@ class (Enum a, Bounded a, Ord a, PathPiece a) => Button a where
cssClass _ = BCDefault
---Some standard Buttons useful throughout
+
+{- Abort is not useful (press Back instead); Delete should be different:
data StandardButton = BtnDelete | BtnAbort | BtnSave
deriving (Enum, Eq, Ord, Bounded, Read, Show)
@@ -85,6 +86,7 @@ instance Button StandardButton where
cssClass BtnDelete = BCWarning
cssClass BtnAbort = BCDefault
cssClass BtnSave = BCPrimary
+-}
data SubmitButton = BtnSubmit
deriving (Enum, Eq, Ord, Bounded, Read, Show)
@@ -132,13 +134,13 @@ buttonField btn = Field {fieldParse, fieldView, fieldEnctype}
fieldParse _ _ = return $ Left "Multiple button values"
-combinedButtonField1 :: Button a => [a] -> AForm Handler [Maybe a]
-combinedButtonField1 btns = traverse b2f btns
+combinedButtonField :: Button a => [a] -> AForm Handler [Maybe a]
+combinedButtonField btns = traverse b2f btns
where
b2f b = aopt (buttonField b) "" Nothing
submitButton :: AForm Handler ()
-submitButton = void $ combinedButtonField1 [BtnSubmit]
+submitButton = void $ combinedButtonField [BtnSubmit]
{-
combinedButtonField :: Button a => [a] -> Form m -> Form (a,m)
diff --git a/templates/generic_form.hamlet b/templates/formPage.hamlet
similarity index 69%
rename from templates/generic_form.hamlet
rename to templates/formPage.hamlet
index 387e3221b..aa2d687d1 100644
--- a/templates/generic_form.hamlet
+++ b/templates/formPage.hamlet
@@ -11,6 +11,3 @@