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 -