[bootstrapification Jeremy Shaw **20130207002947 Ignore-this: 391c75c8027820b47f2f9ca2109b65b1 ] hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 19 +import Clckwrks ( UserId ) hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 27 +import Clckwrks.Page.Types ( PublishStatus ) hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 34 +import Data.Time (UTCTime) hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 67 -getPagesSummary :: PageM [(PageId, Text, Maybe Slug)] +getPagesSummary :: PageM [(PageId, Text, Maybe Slug, UTCTime, UserId, PublishStatus)] hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 76 - <% mapM (\(pid, ttl, slug) ->
  • <% ttl %>
  • ) ps %> + <% mapM (\(pid, ttl, slug,_,_,_) ->
  • <% ttl %>
  • ) ps %> hunk ./clckwrks-plugin-page/Clckwrks/Page/Acid.hs 127 -pagesSummary :: Query PageState [(PageId, Text, Maybe Slug)] +pagesSummary :: Query PageState [(PageId, Text, Maybe Slug, UTCTime, UserId, PublishStatus)] hunk ./clckwrks-plugin-page/Clckwrks/Page/Acid.hs 130 - return $ map (\page -> (pageId page, pageTitle page, pageSlug page)) (toList pgs) + return $ map (\page -> (pageId page, pageTitle page, pageSlug page, pageUpdated page, pageAuthor page, pageStatus page)) + (toList pgs) hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/EditFeedConfig.hs 38 - fieldset $ - ol $ - ((,) <$> (li $ label "Feed Title:") ++> (li $ inputText feedTitle) - <*> (li $ label "Default Author Name:") ++> (li $ inputText feedAuthorName) - <* inputSubmit (pack "update") - ) + divHorizontal $ + fieldset $ + ((,) <$> (divControlGroup (label' "Feed Title" ++> (divControls $ inputText feedTitle))) + <*> (divControlGroup (label' "Default Author Name" ++> (divControls $ inputText feedAuthorName))) + <* (divControlGroup (divControls $ (inputSubmit (pack "Update") `setAttrs`[("class" := "btn")]))) + ) hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/EditFeedConfig.hs 46 + label' str = (label str `setAttrs` [("class":="control-label")]) + divHorizontal = mapView (\xml -> [
    <% xml %>
    ]) + divControlGroup = mapView (\xml -> [
    <% xml %>
    ]) + divControls = mapView (\xml -> [
    <% xml %>
    ]) + hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/EditPage.hs 18 -import Text.Reform ((<++), (++>), transformEitherM) +import Text.Reform ((<++), (++>), mapView, transformEitherM) hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/EditPage.hs 20 -import Text.Reform.HSP.Text (form, inputCheckbox, inputText, label, inputSubmit, select, textarea, fieldset, ol, li, setAttrs) +import Text.Reform.HSP.Text (form, button, inputCheckbox, inputText, label, inputSubmit, select, textarea, fieldset, ol, li, setAttrs) hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/EditPage.hs 50 - (fieldset $ - ol $ (,,,,,,,) - <$> (li $ inputCheckbox hsColour <++ label "Highlight Haskell code with HsColour") - <*> ((li $ label "kind:") ++> (li $ select [(PlainPage, "page"), (Post, "post")] (== (pageKind page)))) - <*> ((li $ label "title:") ++> (li $ inputText (pageTitle page) `setAttrs` ("size" := "80") )) - <*> ((li $ label "slug (optional):") ++> (li $ inputText (maybe Text.empty unSlug $ pageSlug page) `setAttrs` ("size" := "80") )) - <*> ((li $ label "body:") ++> (li $ textarea 80 25 (markup (pageSrc page)))) - <*> inputSubmit (pack "save") - <*> inputSubmit (pack "preview") - <*> newPublishStatus (pageStatus page) - ) `transformEitherM` toPage + divHorizontal $ + (fieldset $ + (,,,,,) + <$> (divControlGroup (label' "Page Type" ++> (divControls $ select [(PlainPage, "page"), (Post, "post")] (== (pageKind page))))) + <*> (divControlGroup (label' "Title" ++> (divControls $ inputText (pageTitle page) `setAttrs` [("size" := "80"), ("class" := "input-xxlarge")]))) + <*> (divControlGroup (label' "Slug (optional)" ++> (divControls $ inputText (maybe Text.empty unSlug $ pageSlug page) `setAttrs` [("size" := "80"), ("class" := "input-xxlarge")]))) + <*> (divControlGroup (divControls (inputCheckboxLabel "Highlight Haskell code using HsColour" hsColour))) + <*> (divControlGroup (label' "Body" ++> (divControls $ textarea 80 25 (markup (pageSrc page)) `setAttrs` [("class" := "input-xxlarge")]))) + <*> (divFormActions + ((,,) <$> (inputSubmit' (pack "Save")) + <*> (inputSubmit' (pack "Preview") `setAttrs` ("class" := "btn btn-info")) + <*> newPublishStatus (pageStatus page))) + ) `transformEitherM` toPage + hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/EditPage.hs 65 + inputSubmit' str = inputSubmit str `setAttrs` [("class":="btn")] + inputCheckboxLabel lbl b = + mapView (\xml -> []) + (inputCheckbox b) + + label' str = (label str `setAttrs` [("class":="control-label")]) + + labelCB str = label str `setAttrs` [("class":="checkbox")] +-- divInline = mapView (\xml -> [
    <% xml %>
    ]) + divFormActions = mapView (\xml -> [
    <% xml %>
    ]) + divHorizontal = mapView (\xml -> [
    <% xml %>
    ]) + divControlGroup = mapView (\xml -> [
    <% xml %>
    ]) + divControls = mapView (\xml -> [
    <% xml %>
    ]) + hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/EditPage.hs 80 - newPublishStatus Published = fmap (const Draft) <$> inputSubmit (pack "save & unpublish") - newPublishStatus _ = fmap (const Published) <$> inputSubmit (pack "save & publish") + newPublishStatus Published = fmap (const Draft) <$> (inputSubmit' (pack "Unpublish") `setAttrs` [("class" := "btn btn-warning")]) + newPublishStatus _ = fmap (const Published) <$> (inputSubmit' (pack "Publish") `setAttrs` [("class" := "btn btn-success")]) hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/EditPage.hs 83 - toPage :: (MonadIO m) => (Bool, PageKind, Text, Text, Text, Maybe Text, Maybe Text, Maybe PublishStatus) -> m (Either PageFormError (Page, AfterSaveAction)) - toPage (haskell, kind, ttl, slug, bdy, msave, mpreview, mpagestatus) = + toPage :: (MonadIO m) => + (PageKind, Text, Text, Bool, Text, (Maybe Text, Maybe Text, Maybe PublishStatus)) + -> m (Either PageFormError (Page, AfterSaveAction)) + toPage (kind, ttl, slug, haskell, bdy, (msave, mpreview, mpagestatus)) = hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/NewPage.hs 18 -
    - + + hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/NewPage.hs 21 - - + + hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/Pages.hs 4 +import Clckwrks (UserId) hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/Pages.hs 10 -import Clckwrks.Page.Types (PageId, Slug(..)) +import Clckwrks.Page.Types (PageId(..), PublishStatus(..), Slug(..), publishStatusString) hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/Pages.hs 12 +import Data.Time (UTCTime) hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/Pages.hs 19 - template "page list" () $ editList pages + template "Page List" () $ editList pages hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/Pages.hs 21 -editList :: [(PageId, Text, Maybe Slug)] -> GenChildList PageM +editList :: [(PageId, Text, Maybe Slug, UTCTime, UserId, PublishStatus)] + -> GenChildList PageM hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/Pages.hs 26 -

    Edit Page

    - + + + + + + + + + + + <% mapM editPageTR pgs %> + +
    Page IdTitleLast UpdatedStatus
    hunk ./clckwrks-plugin-page/Clckwrks/Page/Admin/Pages.hs 41 - editPageLI :: (PageId, Text, Maybe Slug) -> GenXML PageM - editPageLI (pid, ttl, _slug) = -
  • <% ttl %>
  • + editPageTR :: (PageId, Text, Maybe Slug, UTCTime, UserId, PublishStatus) -> GenXML PageM + editPageTR (pid, ttl, _slug, updated, userId, published) = + + <% show $ unPageId pid %> + <% ttl %> + <% updated %> + <% publishStatusString published %> + hunk ./clckwrks-plugin-page/Clckwrks/Page/Types.hs 1 -{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, TemplateHaskell, TypeFamilies #-} +{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, TemplateHaskell, TypeFamilies, OverloadedStrings #-} hunk ./clckwrks-plugin-page/Clckwrks/Page/Types.hs 15 -import Data.String (fromString) +import Data.String (IsString, fromString) hunk ./clckwrks-plugin-page/Clckwrks/Page/Types.hs 92 +publishStatusString :: PublishStatus -> String +publishStatusString Draft = "draft" +publishStatusString Revoked = "revoked" +publishStatusString Published = "published" +publishStatusString Scheduled = "scheduled" + + hunk ./clckwrks/Clckwrks/Admin/EditSettings.hs 30 - fieldset $ - ol $ - ((li $ label "Google Analytics UACCT:") ++> (li $ (inputText (unUACCT muacct)) `transformEither` toMUACCT)) <* - inputSubmit "update" + divHorizontal $ + fieldset $ + (divControlGroup $ + (label "Google Analytics UACCT" `setAttrs` [("class":="control-label")]) ++> + (divControls (inputText (unUACCT muacct)) `transformEither` toMUACCT)) <* + (divControlGroup $ divControls $ inputSubmit "Update" `setAttrs` [("class" := "btn")]) hunk ./clckwrks/Clckwrks/Admin/EditSettings.hs 37 + divHorizontal = mapView (\xml -> [
    <% xml %>
    ]) + divControlGroup = mapView (\xml -> [
    <% xml %>
    ]) + divControls = mapView (\xml -> [
    <% xml %>
    ]) hunk ./clckwrks/Clckwrks/Admin/EditSettings.hs 46 + + hunk ./clckwrks/Clckwrks/Admin/Template.hs 33 - <% sidebar %> -
    - <% body %> +
    +
    +
    + <% sidebar %> +
    +
    + <% body %> +
    +
    hunk ./clckwrks/Clckwrks/Admin/Template.hs 47 -sidebar = -
    - <% adminMenuXML %> -
    +sidebar = adminMenuXML hunk ./clckwrks/Clckwrks/Admin/Template.hs 53 -
      - <% mapM mkMenu usersMenus %> +
      +
      hunk ./clckwrks/Clckwrks/Admin/Template.hs 69 - mkMenu :: (Functor m, Monad m) => (T.Text, [(Set Role, T.Text, T.Text)]) -> XMLGenT (ClckT url m) XML +-- mkMenu :: (Functor m, Monad m) => (T.Text, [(Set Role, T.Text, T.Text)]) -> XMLGenT (ClckT url m) XML hunk ./clckwrks/Clckwrks/Admin/Template.hs 71 -
    • <% category %> - -
    • + <%> + + <% mapM mkLink links %> + hunk ./clckwrks/Clckwrks/Admin/Template.hs 76 - mkLink (visible, title, url) = - + mkLink (_visible, title, url) = +
    • <% title %>
    • hunk ./clckwrks/Clckwrks/Menu/EditMenu.hs 27 - liftIO $ print (toJSON links) +-- liftIO $ print (toJSON links) hunk ./clckwrks/Clckwrks/Menu/EditMenu.hs 225 - liftIO $ print t - liftIO $ print mu +-- liftIO $ print t +-- liftIO $ print mu hunk ./clckwrks/Clckwrks/ProfileData/EditProfileData.hs 12 -import Text.Reform ((++>), transformEitherM) -import Text.Reform.HSP.Text (form, inputText, inputSubmit, label, fieldset, ol, li, errorList) +import Text.Reform ((++>), mapView, transformEitherM) +import Text.Reform.HSP.Text (form, inputText, inputSubmit, label, fieldset, ol, li, errorList, setAttrs) hunk ./clckwrks/Clckwrks/ProfileData/EditProfileData.hs 41 - errorList ++> ((,) <$> (li $ label "username:" ) ++> (li $ inputText username) - <*> (li $ label" email (optional):") ++> (li $ inputText (fromMaybe Text.empty email)) - <* inputSubmit (pack "update")) + divHorizontal $ + errorList ++> + ((,) <$> (divControlGroup (label' "Username" ++> (divControls (inputText username)))) + <*> (divControlGroup (label'" Email (optional)" ++> (divControls (inputText (fromMaybe Text.empty email))))) + <* (divControlGroup (divControls (inputSubmit (pack "Update") `setAttrs` ("class" := "btn"))))) hunk ./clckwrks/Clckwrks/ProfileData/EditProfileData.hs 48 + label' str = (label str `setAttrs` [("class":="control-label")]) + divHorizontal = mapView (\xml -> [
      <% xml %>
      ]) + divControlGroup = mapView (\xml -> [
      <% xml %>
      ]) + divControls = mapView (\xml -> [
      <% xml %>
      ]) +