Skip to content

Commit

Permalink
Simplified formattedPage.
Browse files Browse the repository at this point in the history
+ Removed ctxPageName from Context (since we now have pgPageName in
  PageLayout).

+ Removed params and page parameters from formattedPage, since
  these are now in PageLayout.
  • Loading branch information
jgm committed Jul 11, 2009
1 parent affd00e commit 442fa70
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 78 deletions.
27 changes: 12 additions & 15 deletions Network/Gitit/Authentication.hs
Expand Up @@ -53,11 +53,11 @@ registerUser params = do
case result' of
Left errors -> registerForm >>=
formattedPage defaultPageLayout{
pgMessages = errors,
pgShowPageTools = False,
pgTabs = [],
pgTitle = "Register for an account"
}
"_register" (params { pMessages = errors })
Right (uname, email, pword) -> do
user <- liftIO $ mkUser uname email pword
addUser uname user
Expand All @@ -66,7 +66,7 @@ registerUser params = do
pEmail = email }

resetPasswordRequestForm :: Params -> Handler
resetPasswordRequestForm params = do
resetPasswordRequestForm _ = do
let passwordForm = gui "" ! [identifier "resetPassword"] << fieldset <<
[ label << "Username: "
, textfield "username" ! [size "20", intAttr "tabindex" 1], stringToHtml " "
Expand All @@ -79,7 +79,7 @@ resetPasswordRequestForm params = do
pgShowPageTools = False,
pgTabs = [],
pgTitle = "Reset your password" }
"_resetPassword" params contents
contents

resetPasswordRequest :: Params -> Handler
resetPasswordRequest params = do
Expand All @@ -106,14 +106,14 @@ resetPasswordRequest params = do
pgTabs = [],
pgTitle = "Resetting your password"
}
"_resetPassword" params response
response
else registerForm >>=
formattedPage defaultPageLayout{
pgMessages = errors,
pgShowPageTools = False,
pgTabs = [],
pgTitle = "Register for an account"
}
"_register" params{ pMessages = errors }

resetLink :: String -> User -> String
resetLink base' user =
Expand Down Expand Up @@ -151,19 +151,19 @@ validateReset params postValidate = do
let knownUser = isJust user
let resetCodeMatches = take 20 (pHashed (uPassword (fromJust user))) ==
pResetCode params
let errors = if knownUser && resetCodeMatches then "" else
if knownUser
then "Your reset code is invalid, sorry"
else "User " ++ uname ++ " is not known here"
let errors = case (knownUser, resetCodeMatches) of
(True, True) -> []
(True, False) -> ["Your reset code is invalid"]
(False, _) -> ["User " ++ uname ++ " is not known"]
if null errors
then postValidate (fromJust user)
else registerForm >>=
formattedPage defaultPageLayout{
pgMessages = errors,
pgShowPageTools = False,
pgTabs = [],
pgTitle = "Register for an account"
}
"_register" params{ pMessages = [errors] }

resetPassword :: Params -> Handler
resetPassword params = validateReset params $ \user ->
Expand All @@ -173,7 +173,6 @@ resetPassword params = validateReset params $ \user ->
pgTabs = [],
pgTitle = "Reset your registration info"
}
"_doResetPassword" params

doResetPassword :: Params -> Handler
doResetPassword params = validateReset params $ \user -> do
Expand All @@ -182,11 +181,11 @@ doResetPassword params = validateReset params $ \user -> do
Left errors ->
resetPasswordForm (Just user) >>=
formattedPage defaultPageLayout{
pgMessages = errors,
pgShowPageTools = False,
pgTabs = [],
pgTitle = "Reset your registration info"
}
"_register" params{ pMessages = errors }
Right (uname, email, pword) -> do
user' <- liftIO $ mkUser uname email pword
adjustUser uname user'
Expand Down Expand Up @@ -349,13 +348,12 @@ loginUserForm = withData $ \params -> do
CustomAuth _ -> error "You must be logged in through custom authentication."

loginUserForm' :: Params -> Handler
loginUserForm' params =
loginUserForm' _ =
loginForm >>= formattedPage defaultPageLayout{
pgShowPageTools = False,
pgTabs = [],
pgTitle = "Login"
}
"" params

loginUser :: Params -> Handler
loginUser params = do
Expand Down Expand Up @@ -401,5 +399,4 @@ registerUserForm params = do
pgTabs = [],
pgTitle = "Register for an account"
}
"_register" params

34 changes: 21 additions & 13 deletions Network/Gitit/ContentTransformer.hs
Expand Up @@ -67,8 +67,8 @@ module Network.Gitit.ContentTransformer
, addMathSupport
, addScripts
-- ContentTransformer context API
, getPageName
, getFileName
, getPageName
, getLayout
, getParams
, getCacheable
Expand Down Expand Up @@ -110,9 +110,13 @@ runPageTransformer :: ToMessage a
runPageTransformer xform = withData $ \params -> do
page <- getPage
cfg <- getConfig
evalStateT xform Context{ ctxPageName = page
, ctxFile = pathForPage page
, ctxLayout = defaultPageLayout{ pgTitle = page }
evalStateT xform Context{ ctxFile = pathForPage page
, ctxLayout = defaultPageLayout{
pgPageName = page
, pgTitle = page
, pgPrintable = pPrintable params
, pgMessages = pMessages params
, pgRevision = pRevision params }
, ctxParams = params
, ctxCacheable = True
, ctxTOC = tableOfContents cfg
Expand All @@ -125,10 +129,14 @@ runFileTransformer :: ToMessage a
runFileTransformer xform = withData $ \params -> do
file <- getPage
cfg <- getConfig
evalStateT xform Context{ ctxPageName = file
, ctxFile = file
, ctxLayout = defaultPageLayout{ pgTitle = file }
, ctxParams = params
evalStateT xform Context{ ctxFile = file
, ctxLayout = defaultPageLayout{
pgPageName = file
, pgTitle = file
, pgPrintable = pPrintable params
, pgMessages = pMessages params
, pgRevision = pRevision params }
, ctxParams = params
, ctxCacheable = True
, ctxTOC = tableOfContents cfg
, ctxBirdTracks = showLHSBirdTracks cfg
Expand Down Expand Up @@ -292,8 +300,8 @@ exportPandoc (Just doc) = do

applyWikiTemplate :: Html -> ContentTransformer Response
applyWikiTemplate c = do
Context { ctxLayout = layout, ctxPageName = page, ctxParams = params } <- get
lift $ formattedPage layout page params c
Context { ctxLayout = layout } <- get
lift $ formattedPage layout c

--
-- Content-type transformation combinators
Expand Down Expand Up @@ -448,12 +456,12 @@ addScripts layout scriptPaths =
getParams :: ContentTransformer Params
getParams = liftM ctxParams get

getPageName :: ContentTransformer String
getPageName = liftM ctxPageName get

getFileName :: ContentTransformer FilePath
getFileName = liftM ctxFile get

getPageName :: ContentTransformer String
getPageName = liftM (pgPageName . ctxLayout) get

getLayout :: ContentTransformer PageLayout
getLayout = liftM ctxLayout get

Expand Down

0 comments on commit 442fa70

Please sign in to comment.