Cleaned up some other things

This commit is contained in:
Yann Esposito 2012-08-06 15:44:37 +02:00
parent 5ca3aaf197
commit 45b5d03e5e
4 changed files with 43 additions and 12 deletions

23
Handler/Helper.hs Normal file
View file

@ -0,0 +1,23 @@
module Handler.Helper
( errorPage
, errorPageJson )
where
import Import
errorPage :: Text -> Handler RepHtml
errorPage errorText = do
let errorMessage = toHtml errorText
defaultLayout $ do
setTitle errorMessage
$(widgetFile "error")
errorPageJson :: Text -> Handler RepHtmlJson
errorPageJson errorText = do
defaultLayoutJson widget json
where
errorMessage = toHtml errorText
widget = do
setTitle errorMessage
$(widgetFile "error")
json = object ["msg" .= errorText]

View file

@ -3,10 +3,14 @@ module Handler.Home
( getHomeR
, postHomeR
, getEntryR
, postEntryR
, putEntryR
, deleteEntryR
)
where
import Import
import Handler.Helper
import Yesod.Auth
-- entryAForm :: AForm App App Entry
@ -47,11 +51,6 @@ getHomeR = do
isNothing Nothing = True
isNothing _ = False
errorPage :: Html -> Handler RepHtml
errorPage errorMessage = do
defaultLayout $ do
setTitle errorMessage
$(widgetFile "error")
postHomeR :: Handler RepHtml
postHomeR = do
@ -64,15 +63,23 @@ postHomeR = do
FormSuccess personRequest -> do
let newEntry = Entry currentUserId (title personRequest) (url personRequest) 0 0
entryId <- runDB $ insert newEntry
setMessage $ toHtml $ (title personRequest)
setMessage $ toHtml (title personRequest)
redirect $ EntryR entryId
_ -> errorPage "Please correct your entry form"
getEntryR :: EntryId -> Handler RepHtml
getEntryR :: EntryId -> Handler RepHtmlJson
getEntryR entryId = do
currentUserId <- maybeAuthId
maybeEntry <- runDB $ get entryId
let title = case maybeEntry of
Nothing -> ""
Just entry -> toHtml $ entryTitle entry
errorPage $ title
-- maybe "" entryTitle maybeEntry
-- if maybeEntry is Nothing returns ""
-- else returns (entryTitle maybeEntry)
let title = maybe "" entryTitle maybeEntry
errorPageJson title
postEntryR :: EntryId -> Handler RepHtmlJson
postEntryR = undefined
putEntryR :: EntryId -> Handler RepHtmlJson
putEntryR = undefined
deleteEntryR :: EntryId -> Handler RepHtmlJson
deleteEntryR = undefined

View file

@ -5,4 +5,4 @@
/robots.txt RobotsR GET
/ HomeR GET POST
/y/#EntryId EntryR GET
/y/#EntryId EntryR GET POST PUT DELETE

View file

@ -29,6 +29,7 @@ library
Settings.StaticFiles
Settings.Development
Handler.Home
Handler.Helper
if flag(dev) || flag(library-only)
cpp-options: -DDEVELOPMENT