{-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -F -pgmFhsx2hs #-} module Clckwrks.Page.Admin.Pages where import Clckwrks (UserId) import Clckwrks.Monad (query) import Clckwrks.Admin.Template (template) import Clckwrks.Page.Acid (PagesSummary(..)) import Clckwrks.Page.Monad (PageM) import Clckwrks.Page.URL (PageAdminURL(..), PageURL(..)) import Clckwrks.Page.Types (PageId(..), PublishStatus(..), Slug(..), publishStatusString) import qualified Data.Text as T import Data.Text.Lazy (Text) import Data.Time (UTCTime) import Happstack.Server (Response) import HSP.XML import HSP.XMLGenerator pages :: PageM Response pages = do pages <- query PagesSummary template "Page List" () $ editList pages editList :: [(PageId, T.Text, Maybe Slug, UTCTime, UserId, PublishStatus)] -> GenChildList PageM editList [] = <%>

There are currently no pages.

editList pgs = <%> <% mapM editPageTR pgs %>
Page Id Title Last Updated Status
where editPageTR :: (PageId, T.Text, Maybe Slug, UTCTime, UserId, PublishStatus) -> GenXML PageM editPageTR (pid, ttl, _slug, updated, userId, published) = <% show $ unPageId pid %> <% ttl %> <% updated %> <% publishStatusString published %>