diff --git a/src/Handler/Term.hs b/src/Handler/Term.hs
index c67e0503c..7110537ec 100644
--- a/src/Handler/Term.hs
+++ b/src/Handler/Term.hs
@@ -33,8 +33,8 @@ getShowTermsR = do
#{termToText $ termName term}
- from #{formatTime defaultTimeLocale "%d.%m.%Y" $ termStart term}
- to: #{formatTime defaultTimeLocale "%d.%m.%Y" $ termEnd term}
+ von #{formatTimeGerWD $ termStart term}
+ bis #{formatTimeGerWD $ termEnd term}
$if termActive term
(Semester ist aktiv)
$with holidays <- termHolidays term
@@ -42,21 +42,25 @@ getShowTermsR = do
Feiertage im Semester: #{show holidays}
|]
+
getNewTermR :: Handler Html
getNewTermR = do
-- TODO: Defaults für Semester hier ermitteln und übergeben
getEditTermMaybeR Nothing
+
getEditTermR :: Handler Html
getEditTermR = do
-- TODO: Defaults für Semester hier ermitteln und übergeben
getEditTermMaybeR Nothing
+
getEditTermExistR :: TermIdentifier -> Handler Html
getEditTermExistR tid = do
term <- runDB $ get $ TermKey tid
getEditTermMaybeR term
+
getEditTermMaybeR :: Maybe Term -> Handler Html
getEditTermMaybeR mbTerm= do
aid <- requireAuthId
@@ -65,6 +69,7 @@ getEditTermMaybeR mbTerm= do
setTitle "Semester editieren/anlegen"
$(widgetFile "editTerm")
+
postEditTermR :: Handler Html
postEditTermR = do
aid <- requireAuthId
@@ -75,8 +80,7 @@ postEditTermR = do
runDB $ repsert (TermKey $ termName res) res
let tid = termToText $ termName res
let msg = "Semester " `T.append` tid `T.append` " wurde editiert!"
- -- setMessage $ toHtml msg -- FIXME
- setMessage "Semester gespeichert"
+ setMessage [shamlet| #{msg}|]
redirect ShowTermsR
FormMissing -> defaultLayout $ do
setMessage "Keine Formulardaten erhalten."
@@ -89,6 +93,7 @@ postEditTermR = do
|]
$(widgetFile "editTerm")
+
newTermForm :: Maybe Term -> Form Term
newTermForm template =
renderBootstrap3 BootstrapBasicForm $ Term
diff --git a/src/Handler/Utils.hs b/src/Handler/Utils.hs
index 7767aa12b..d8f6ce9fa 100644
--- a/src/Handler/Utils.hs
+++ b/src/Handler/Utils.hs
@@ -2,4 +2,5 @@ module Handler.Utils
( module Handler.Utils
) where
+import Handler.Utils.DateTime as Handler.Utils
import Handler.Utils.Term as Handler.Utils
diff --git a/src/Handler/Utils/DateTime.hs b/src/Handler/Utils/DateTime.hs
new file mode 100644
index 000000000..1cd8dde67
--- /dev/null
+++ b/src/Handler/Utils/DateTime.hs
@@ -0,0 +1,57 @@
+module Handler.Utils.DateTime where
+
+
+import Data.Time
+
+
+germanTimeLocale :: TimeLocale
+germanTimeLocale = TimeLocale
+ { wDays = [("Montag" ,"Mo")
+ ,("Dienstag" ,"Di")
+ ,("Mittwoch" ,"Mi")
+ ,("Donnerstag" ,"Do")
+ ,("Freitag" ,"Fr")
+ ,("Samstag" ,"Sa")
+ ,("Sonntag" ,"So")
+ ]
+ , months = [("Januar" ,"Jan")
+ ,("Februar" ,"Feb")
+ ,("März" ,"Mär")
+ ,("April" ,"Apr")
+ ,("Mai" ,"Mai")
+ ,("Juni" ,"Jun")
+ ,("Juli" ,"Jul")
+ ,("August" ,"Aug")
+ ,("September" ,"Sep")
+ ,("Oktober" ,"Okt")
+ ,("November" ,"Nov")
+ ,("Dezember" ,"Dez")
+ ]
+ , amPm = ("am","pm")
+ , dateTimeFmt = "%a %e.%m.%y %k:%M"
+ , dateFmt = "%e.%m.%y"
+ , timeFmt = "%k:%M"
+ , time12Fmt = "%H:%M"
+ , knownTimeZones = [] -- TODO?
+ }
+
+formatTimeGer :: FormatTime t => String -> t -> String
+formatTimeGer = formatTime germanTimeLocale
+
+formatTimeGerDTlong :: FormatTime t => t -> String
+formatTimeGerDTlong = formatTimeGer "%A, %e. %B %Y, %k:%M:%S"
+
+formatTimeGerWDT :: FormatTime t => t -> String
+formatTimeGerWDT = formatTimeGer $ dateTimeFmt germanTimeLocale
+
+formatTimeGerDT :: FormatTime t => t -> String
+formatTimeGerDT = formatTimeGer "%e.%m.%y %k:%M"
+
+formatTimeGerWD :: FormatTime t => t -> String
+formatTimeGerWD = formatTimeGer "%a %e.%m.%y"
+
+formatTimeGerD :: FormatTime t => t -> String
+formatTimeGerD = formatTimeGer $ dateFmt germanTimeLocale
+
+formatTimeGerT :: FormatTime t => t -> String
+formatTimeGerT = formatTimeGer $ timeFmt germanTimeLocale