{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE FlexibleContexts #-} module Villefort.New where import Control.Monad.Reader import Villefort.Definitions import System.IO.Strict as S import Paths_Villefort import Data.List.Split import Villefort.Database makeNewPage :: (MonadReader VConfig m, MonadIO m) => m String makeNewPage = do headerPath <-liftIO $ getDataFileName "templates/header" htmlHeader <- liftIO $ S.readFile headerPath addPath <- liftIO $ getDataFileName "templates/add.html" add <- liftIO $ S.readFile addPath let splitWeeks = splitOn "?" add subjects <- getSubjects let radiobuttons = map makeRadio subjects return (htmlHeader ++ (splitWeeks !! 0) ++ (concat radiobuttons) ++ (splitWeeks !! 1)) -- | makes html for radiobutton makeRadio :: String -> String makeRadio x = "
" ++ x ++ "
\n"