yesod-vend 0.2.0.0 → 0.3.0.0
raw patch · 3 files changed
+26/−19 lines, 3 filesdep +monad-loggerdep +resourcetdep +yesod-formdep −yesod-platformdep ~yesod
Dependencies added: monad-logger, resourcet, yesod-form
Dependencies removed: yesod-platform
Dependency ranges changed: yesod
Files
- examples/usersite.hs +8/−5
- src/Yesod/VEND.hs +11/−10
- yesod-vend.cabal +7/−4
examples/usersite.hs view
@@ -7,6 +7,9 @@ import Data.Maybe import Data.Text(Text) import Control.Applicative+import Database.Persist.GenericSql.Raw (SqlBackend)+import Control.Monad.Trans.Resource (runResourceT)+import Control.Monad.Logger (runNoLoggingT) share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persist| User@@ -76,9 +79,9 @@ handleUserNewR :: GHandler master VendUserTest RepHtml-handleUserDeleteR :: Key SqlPersist (UserGeneric SqlPersist) -> GHandler master VendUserTest RepHtml-handleUserEditR :: Key SqlPersist (UserGeneric SqlPersist) -> GHandler master VendUserTest RepHtml-handleUserViewR :: Key SqlPersist (UserGeneric SqlPersist) -> GHandler master VendUserTest RepHtml+handleUserDeleteR :: Key (UserGeneric SqlBackend) -> GHandler master VendUserTest RepHtml+handleUserEditR :: Key (UserGeneric SqlBackend) -> GHandler master VendUserTest RepHtml+handleUserViewR :: Key (UserGeneric SqlBackend) -> GHandler master VendUserTest RepHtml handleUserViewAllR :: GHandler master VendUserTest RepHtml handleUserNewR = newR UserP@@ -102,9 +105,9 @@ openConnectionCount = 10 main :: IO ()-main = withSqlitePool "test-usersite.db" openConnectionCount $ \pool -> do+main = runNoLoggingT $ runResourceT $ withSqlitePool "test-usersite.db" openConnectionCount $ \pool -> do runSqlPool (runMigration migrateAll) pool- warpDebug 3030 $ VendUserTest pool+ liftIO $ warpDebug 3030 $ VendUserTest pool instance RenderMessage VendUserTest FormMessage where renderMessage _ _ = defaultFormMessage
src/Yesod/VEND.hs view
@@ -185,10 +185,11 @@ default paramsFull :: ((SiteEntT a ~ SiteT a), (CRUD a), (ValT a ~ FullEntT a)) => a -> [EntityParam master (SiteEntT a) (FullEntT a)] paramsFull = params default get404Full :: ((YesodPersistBackend (SiteEntT a) ~ SqlPersist),+ (PersistEntityBackend val0 ~ SqlBackend), (PersistEntity val0), (YesodPersist (SiteEntT a)),- (a ~ Key SqlPersist val0),- (val0 ~ FullEntT (Key SqlPersist val0))) => + (a ~ KeyBackend SqlBackend val0),+ (val0 ~ FullEntT (KeyBackend SqlBackend val0))) => a -> GHandler master (SiteEntT a) (FullEntT a) get404Full key = runDB (get404 key) @@ -204,7 +205,7 @@ |] -- | Core typeclass of this package. Default implementations of handlers use other methods to provide sensible default views. They can be all overriden if needed.-class ((SiteEntT (Key SqlPersist (ValT a)) ~ SiteT a),(EntityDeep (KeyT a))) => CRUD a where+class ((SiteEntT (KeyBackend SqlBackend (ValT a)) ~ SiteT a), (PersistEntityBackend (ValT a) ~ SqlBackend), (EntityDeep (KeyT a))) => CRUD a where -- * types -- | entity value type type ValT a@@ -310,7 +311,7 @@ (YesodPersistBackend (SiteT a) ~ SqlPersist), (RenderMessage (SiteT a) FormMessage), (YesodPersist (SiteT a)),- (KeyT a ~ Key SqlPersist (ValT a)),+ (KeyT a ~ KeyBackend SqlBackend (ValT a)), (PersistEntity (ValT a))) => a -> GHandler master (SiteT a) RepHtml newR this = do@@ -334,9 +335,9 @@ default viewAllR :: ((YesodPersistBackend (SiteT a) ~ SqlPersist), (YesodPersist (SiteT a)), (Yesod (SiteT a)),- (EntityDeep (Key SqlPersist (ValT a))), - (PersistEntityBackend (ValT a) ~ SqlPersist), - (KeyT a ~ Key SqlPersist (ValT a)), + (EntityDeep (KeyBackend SqlBackend (ValT a))), + (PersistEntityBackend (ValT a) ~ SqlBackend), + (KeyT a ~ KeyBackend SqlBackend (ValT a)), (PersistEntity (ValT a))) => a -> GHandler master (SiteT a) RepHtml viewAllR this = do values <- runDB $ selectList [] (viewAllOptions this)@@ -376,7 +377,7 @@ <a href=@{deleteRt this key}> <strong> Delete </strong> |] - default viewR :: ((Yesod (SiteT a)), (KeyT a ~ Key SqlPersist (ValT a)), (PersistEntity (ValT a))) => a -> (KeyT a) -> GHandler master (SiteT a) RepHtml+ default viewR :: ((Yesod (SiteT a)), (KeyT a ~ KeyBackend SqlBackend (ValT a)), (PersistEntity (ValT a))) => a -> (KeyT a) -> GHandler master (SiteT a) RepHtml viewR this key = do val'full <- get404Full key defaultLayout $ do@@ -395,7 +396,7 @@ (YesodPersist (SiteT a)), (Yesod (SiteT a)), (RenderMessage (SiteT a) FormMessage),- (KeyT a ~ Key SqlPersist (ValT a)), (PersistEntity (ValT a))) => a -> (KeyT a) -> GHandler master (SiteT a) RepHtml+ (KeyT a ~ KeyBackend SqlBackend (ValT a)), (PersistEntity (ValT a))) => a -> (KeyT a) -> GHandler master (SiteT a) RepHtml editR this key = do val <- runDB $ get404 key ((result,fwidget), enctype) <- runFormPost =<< (form this (Just val))@@ -419,7 +420,7 @@ <input type="submit"> |] default deleteR :: ((RenderMessage (SiteT a) FormMessage), (YesodPersist (SiteT a)), (YesodPersistBackend (SiteT a) ~ SqlPersist), (Yesod (SiteT a)),- (KeyT a ~ Key SqlPersist (ValT a)), (PersistEntity (ValT a))) => a -> (KeyT a) -> GHandler master (SiteT a) RepHtml+ (KeyT a ~ KeyBackend SqlBackend (ValT a)), (PersistEntity (ValT a))) => a -> (KeyT a) -> GHandler master (SiteT a) RepHtml deleteR this key = do val'full <- get404Full key ((result,fwidget), enctype) <- runFormPost =<< (dForm this)
yesod-vend.cabal view
@@ -1,5 +1,5 @@ Name: yesod-vend-Version: 0.2.0.0+Version: 0.3.0.0 Synopsis: Simple CRUD classes for easy view creation for Yesod Description: Simple CRUD classes for easy view creation for Yesod. See @Yesod.VEND@ for more informations and description how to use it. License: BSD3@@ -16,7 +16,8 @@ Exposed-modules: Yesod.VEND Hs-source-dirs: src Build-depends: base > 4 && <5- , yesod-platform > 1.0 && < 1.1+ , yesod == 1.1.*+ , yesod-form , persistent , text , blaze-html@@ -27,13 +28,15 @@ Main-is: examples/usersite.hs Build-depends: yesod-vend , base > 4 && <5- , yesod-platform > 1.0 && < 1.1+ , yesod == 1.1.*+ , yesod-form , persistent , persistent-sqlite , text , blaze-html , hamlet- , yesod+ , monad-logger+ , resourcet -- hack around missing -lpthread in persistent-sqlite Ghc-options: -optl-pthread