Cleaned up some other things
This commit is contained in:
parent
5ca3aaf197
commit
45b5d03e5e
4 changed files with 43 additions and 12 deletions
23
Handler/Helper.hs
Normal file
23
Handler/Helper.hs
Normal 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]
|
|
@ -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
|
||||
|
|
|
@ -5,4 +5,4 @@
|
|||
/robots.txt RobotsR GET
|
||||
|
||||
/ HomeR GET POST
|
||||
/y/#EntryId EntryR GET
|
||||
/y/#EntryId EntryR GET POST PUT DELETE
|
||||
|
|
|
@ -29,6 +29,7 @@ library
|
|||
Settings.StaticFiles
|
||||
Settings.Development
|
||||
Handler.Home
|
||||
Handler.Helper
|
||||
|
||||
if flag(dev) || flag(library-only)
|
||||
cpp-options: -DDEVELOPMENT
|
||||
|
|
Loading…
Reference in a new issue