{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE FlexibleContexts #-} {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} {-# HLINT ignore "Replace case with fromMaybe" #-} module Handler.Todolist where import Import import Text.Read import Database.Persist.Sql (fromSqlKey, toSqlKey) postAddTodolistR :: GroupId -> Handler Html postAddTodolistR groupId = do list <- runInputPost $ ireq textField "list" -- TODO: in a newer version, put insertUnique_ _ <- dbIfAuth groupId (insertUnique $ Todolist groupId list) redirect $ TodolistR groupId -- TODO: move this to a new handler file getTodolistR :: GroupId -> Handler Html getTodolistR groupId = do lists <- dbIfAuth groupId (selectList [TodolistGroupId ==. groupId] []) mToken <- fmap reqToken getRequest defaultLayout $ do let getTitle = todolistTitle . entityVal setTitle "todolist" [whamlet| Home