use redirect after post

This commit is contained in:
Konrad Merz 2015-03-28 17:22:01 +01:00
parent 8768ed8775
commit 4975257dcb
3 changed files with 8 additions and 10 deletions

View file

@ -22,6 +22,6 @@ executable noodle
-- other-extensions:
build-depends: base >=4.7 && <4.8, scotty, blaze-html, monads-tf,
persistent, persistent-sqlite, time, transformers,
persistent-template, resourcet
persistent-template, resourcet, text
hs-source-dirs: src
default-language: Haskell2010

View file

@ -11,11 +11,11 @@ render (pollId, pollName, pollDesc) options = do
H.html $ do
H.body $ do
H.h3 "Show of poll"
H.h5 "Name:"
H.h4 "Name:"
H.p $ toHtml pollName
H.h5 "Description"
H.h4 "Description"
H.p $ toHtml pollDesc
H.h5 "Options"
H.h4 "Options"
H.ul $ do
mapM_ renderLn options
H.br

View file

@ -18,6 +18,8 @@ import Database.Persist.Sqlite
import Database.Persist.TH
import Control.Monad.IO.Class (liftIO)
import Data.Time
import Data.Text.Lazy as T (pack)
import Data.Monoid (mconcat)
import qualified Noodle.Views.Index
import qualified Noodle.Views.Show
@ -60,16 +62,12 @@ scottySite = do
name <- S.param "name"
desc <- S.param "desc"
createPoll name desc
polls <- liftIO $ allPolls
blaze $ Noodle.Views.Index.render $ pollNames $ polls
S.redirect "/"
S.post "/options/" $ do
name <- S.param "name" :: S.ActionM String
pId <- S.param "id":: S.ActionM String
createOption pId name
poll <- liftIO $ getPollById pId
options <- liftIO $ getOptionsByPollId pId
blaze $ Noodle.Views.Show.render (pollValues $ head poll)
(optionsValues options)
S.redirect $ T.pack $ "/polls/" ++ pId
initDb = do
runSqlite "noodle.db" $ do