1
0
Fork 0
mirror of https://code.naskya.net/repos/ndqEd synced 2025-03-20 15:14:54 +09:00

Ticket summary widget

This commit is contained in:
fr33domlover 2016-08-04 00:40:29 +00:00
parent 7ebf189e93
commit fe7aeb5162
5 changed files with 108 additions and 10 deletions
src/Vervis/Widget

View file

@ -14,26 +14,57 @@
-}
module Vervis.Widget.Ticket
( ticketDepW
( TicketSummary (..)
, ticketDepW
, ticketSummaryW
)
where
import Prelude
import Yesod.Core (Route)
import Yesod.Core.Handler (getUrlRender)
import Control.Arrow ((***))
import Data.HashMap.Lazy (HashMap)
import Data.Text (Text)
import Data.Time.Clock (UTCTime)
import Yesod.Core.Handler (getCurrentRoute)
import Yesod.Core (newIdent)
import qualified Data.Text as T (unpack)
import qualified Data.HashMap.Lazy as M (toList)
import qualified Data.Text as T (pack, unpack)
import Vervis.Foundation
import Vervis.Model
import Vervis.Model.Ident
import Vervis.Settings (widgetFile)
import Vervis.Style
import Vervis.Time (showDate)
import Vervis.Widget.Sharer (personLinkW)
data TicketSummary = TicketSummary
{ tsNumber :: Int
, tsCreatedBy :: Sharer
, tsCreatedAt :: UTCTime
, tsTitle :: Text
, tsDone :: Bool
, tsComments :: Int
}
ticketDepW :: ShrIdent -> PrjIdent -> Ticket -> Widget
ticketDepW shr prj ticket = do
todoC <- newIdent
doneC <- newIdent
cTodo <- newIdent
cDone <- newIdent
$(widgetFile "ticket/widget/dep")
ticketSummaryW
:: ShrIdent
-> PrjIdent
-> TicketSummary
-> Maybe (HashMap Int Int)
-> Widget
ticketSummaryW shr prj ts mcs = do
cTodo <- newIdent
cDone <- newIdent
let tshow = T.pack . show
mparams = map (tshow *** tshow) . M.toList <$> mcs
mroute <- getCurrentRoute
$(widgetFile "ticket/widget/summary")