From 930a478ee31c40d594bd986cb91e34d9b894c9c0 Mon Sep 17 00:00:00 2001 From: SJost Date: Sun, 8 Oct 2017 19:57:08 +0200 Subject: [PATCH] TermTable properly realised with Colonnade now. Additional dependencies were required. --- package.yaml | 3 ++ src/Handler/Term.hs | 52 ++++++++++-------------- src/Handler/Utils.hs | 10 ++++- src/Handler/Utils/DateTime.hs | 10 ++--- src/Handler/Utils/Table.hs | 14 +++++++ stack.yaml | 75 ++++------------------------------- 6 files changed, 58 insertions(+), 106 deletions(-) create mode 100644 src/Handler/Utils/Table.hs diff --git a/package.yaml b/package.yaml index e2b9b88f3..2f3f2baf4 100644 --- a/package.yaml +++ b/package.yaml @@ -50,6 +50,9 @@ dependencies: - base64-bytestring - memory - http-api-data +- colonnade >=1.1.1 +- yesod-colonnade >=1.1.0 +- blaze-markup # The library contains all of our application code. The executable # defined below is just a thin wrapper. diff --git a/src/Handler/Term.hs b/src/Handler/Term.hs index 1db1d6731..892cd258e 100644 --- a/src/Handler/Term.hs +++ b/src/Handler/Term.hs @@ -8,46 +8,34 @@ module Handler.Term where -import Import +import Import import Handler.Utils + import qualified Data.Text as T --- import Data.Maybe import Yesod.Form.Bootstrap3 --- import Text.Julius (RawJS (..)) + +import Colonnade +import Yesod.Colonnade getShowTermsR :: Handler Html getShowTermsR = do terms <- runDB $ selectList [] [Desc TermStart] + let colonnadeTerms = mconcat + -- TODO Edit-Links only $if isAdmin, otherwise breadcrumb navigation + [ headed "Kürzel" $ (\t -> let tn = termName t in + [whamlet| #{termToText tn}|] ) + , headed "Beginn Vorlesungen" $ fromString.formatTimeGerWD.termLectureStart + , headed "Ende Vorlesungen" $ fromString.formatTimeGerWD.termLectureEnd + , headed "Aktiv" (\t -> if termActive t then tickmark else "") + , headed "Semesteranfang" $ fromString.formatTimeGerWD.termStart + , headed "Semesterende" $ fromString.formatTimeGerWD.termEnd + , headed "Feiertage im Semester" $ + fromString.(intercalate ", ").(map formatTimeGerWD).termHolidays + ] defaultLayout $ do - setTitle "Freigeschaltete Semester" - -- TODO: provide common utility function for formatting Times - -- TODO: turn into proper table - -- TODO Edit-Links only $if isAdmin, otherwise breadcrumb navigation - [whamlet| -

- Liste der freigeschalteten Semester: - $if null terms -

Es wurden noch kein Semester freigeschaltetet. - $else -