From 264f53eaf362a158da75f5d0ddbba807e5cccf23 Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Tue, 3 May 2016 13:06:47 +0200 Subject: [PATCH] refactor timeline --- Handler/Discussion.hs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Handler/Discussion.hs b/Handler/Discussion.hs index e52fe4e..7743ff1 100644 --- a/Handler/Discussion.hs +++ b/Handler/Discussion.hs @@ -51,13 +51,17 @@ getChallengeDiscussionR name = do (Entity challengeId challenge) <- runDB $ getBy404 $ UniqueName name maybeUser <- maybeAuth (formWidget, formEnctype) <- generateFormPost $ renderBootstrap3 BootstrapBasicForm (commentForm challengeId) + sortedTimelineItems <- getTimelineItems challengeId + challengeLayout True challenge (discussionWidget maybeUser formWidget formEnctype name sortedTimelineItems) + +getTimelineItems :: ChallengeId -> Handler [TimelineItem] +getTimelineItems challengeId = do comments <- runDB $ selectList [CommentChallenge ==. challengeId] [Desc CommentPosted] submissions <- runDB $ selectList [SubmissionChallenge ==. challengeId] [Desc SubmissionStamp] timelineItems' <- mapM toTimelineItem comments timelineItems'' <- mapM toTimelineItem submissions - let sortedTimelineItems = sortBy (\item1 item2 -> (getTime item2 `compare` getTime item1)) ( - timelineItems' ++ timelineItems'') - challengeLayout True challenge (discussionWidget maybeUser formWidget formEnctype name sortedTimelineItems) + return $ sortBy (\item1 item2 -> (getTime item2 `compare` getTime item1)) ( + timelineItems' ++ timelineItems'') discussionWidget maybeUser formWidget formEnctype name sortedTimelineItems = $(widgetFile "challenge-discussion")