Skip to content

Commit

Permalink
Split out done and pending tasks for increased win
Browse files Browse the repository at this point in the history
  • Loading branch information
samstokes committed Sep 8, 2011
1 parent 39fea14 commit fd784d1
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
2 changes: 2 additions & 0 deletions Handler/Root.hs
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ module Handler.Root where


import Control.Applicative import Control.Applicative
import Control.Monad import Control.Monad
import Data.List (partition)
import Data.Monoid import Data.Monoid
import Data.Map (Map) import Data.Map (Map)
import qualified Data.Map as M import qualified Data.Map as M
Expand Down Expand Up @@ -42,6 +43,7 @@ getTasksR = maybeAuth >>= getTasksR' where


getTasksR' (Just (userId, user)) = do getTasksR' (Just (userId, user)) = do
tasks <- runDB $ userTasks userId tasks <- runDB $ userTasks userId
let (done, pending) = partition (taskDone . snd) tasks
estimates <- mapM (runDB . taskEstimates . fst) tasks estimates <- mapM (runDB . taskEstimates . fst) tasks
let tasksEstimates = M.fromList $ zip (map fst tasks) estimates let tasksEstimates = M.fromList $ zip (map fst tasks) estimates
((_, taskWidget), enctype) <- generateFormPost $ taskForm userId ((_, taskWidget), enctype) <- generateFormPost $ taskForm userId
Expand Down
15 changes: 12 additions & 3 deletions hamlet/tasks.hamlet
Original file line number Original file line Diff line number Diff line change
@@ -1,13 +1,22 @@
<h1>Pomos! <h1>Pomos!


$if null tasks <h2>TODO
<p>You have no tasks.
$if null pending
<p>Nothing to do. Congratulations! Why not take the day off?
$else $else
<table><tbody> <table><tbody>
$forall idAndTask <- tasks $forall idAndTask <- pending
$with estimates <- M.findWithDefault mempty (fst idAndTask) tasksEstimates $with estimates <- M.findWithDefault mempty (fst idAndTask) tasksEstimates
^{taskTr idAndTask estimates} ^{taskTr idAndTask estimates}


<form method=POST action=@{TasksR} enctype=#{enctype} <form method=POST action=@{TasksR} enctype=#{enctype}
^{taskWidget} ^{taskWidget}
<input type=submit value=Add <input type=submit value=Add

$if not (null done)
<h2>Done
<table><tbody>
$forall idAndTask <- done
$with estimates <- M.findWithDefault mempty (fst idAndTask) tasksEstimates
^{taskTr idAndTask estimates}

0 comments on commit fd784d1

Please sign in to comment.