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