{-# LANGUAGE OverloadedStrings #-}
module Web.Views.MemberManagement
(viewMemberManagement) where
import Web.Views.Home
import Model.RESTDatatypes
import Text.Blaze.Html5 as H
import qualified Text.Blaze.Html5.Attributes as A
import qualified Data.List as L
import Database.Persist (Entity(..))
viewMemberManagement :: [Entity Member]
-> [Bool]
-> H.Html
viewMemberManagement members ready = do
docTypeHtml $ do
H.head $ do
getMenuBarHeader
H.link ! A.rel "stylesheet" ! A.href "/css/membermanagement.css"
H.script ! A.src "/js/membermanagement.js" ! A.type_ "text/javascript" $ ""
H.meta ! A.charset "UTF-8"
H.body $ do
H.div ! A.class_ "mdl-layout mdl-js-layout mdl-layout--fixed-drawer" $ do
H.hgroup $ do
H.form $ do
H.h3 "Mitglieder"
H.button ! A.type_ "button" ! A.onclick "window.location.href='/addMember'"! A.class_ "button buttonGreen" $ "Mitglied hinzufügen"
H.button !A.type_ "button" ! A.onclick "deleteMember()" ! A.class_ "button buttonBlue" $ "Löschen"
H.table ! A.class_ "mdl-data-table mdl-js-data-table mdl-data-table--selectable mdl-shadow--2dp" ! A.id "memberTable" $ do
viewTableHead
viewTableBody members ready
getMenuBarBody
viewTableHead :: H.Html
viewTableHead =
H.thead $ do
H.th ! A.class_ "mdl-data-table__cell--non-numeric" $ "Vorname"
H.th "Name"
H.th "GeburtsDatum"
H.th "Nächster Untersuchtungstermin"
H.th "Unterweisung"
H.th "Einsatz/Übung"
H.th "Anforderungen Erfüllt"
viewTableBody :: [Entity Member]
-> [Bool]
-> H.Html
viewTableBody mem ready = H.tbody $ do
viewTableBody' mem ready
viewTableBody' :: [Entity Member]
-> [Bool]
-> H.Html
viewTableBody' (x:xs) (ready: xready) = do
H.tr $ do
H.td ! A.class_ "mdl-data-table__cell--non-numeric" $ toHtml (memberSurName (entityVal x))
H.td $ toHtml (memberName (entityVal x)) ! A.class_ "td"
H.td $ toHtml (dateToString ((memberBirthMonth (entityVal x)), (memberBirthDay (entityVal x)), (memberBirthYear (entityVal x))))
H.td $ toHtml (dateToString ((memberExamationMonth (entityVal x)), (memberExamationDay (entityVal x)), (memberExamationYear (entityVal x))))
H.td $ if (memberInstructionCheck (entityVal x)) == 0 then text "Nein" else text "Ja"
H.td $ if (memberExerciseCheck (entityVal x)) == 0 then text "Nein" else text "Ja"
H.td $ if ready then text "Ja" else text "Nein"
viewTableBody' xs xready
viewTableBody' [] [] = H.h1 ""