ContentsIndex
Framework.API.CRUD
Description
This module supplies simple create update delete controllers
Synopsis
create' :: Model -> Form -> [SqlValue] -> String -> AController (String, String)
create :: Model -> [SqlValue] -> String -> AController (String, String)
update' :: Model -> Form -> Int -> String -> AController (String, String)
update :: Model -> Int -> String -> AController (String, String)
delete :: Model -> Int -> String -> AController ()
Documentation
create'
:: ModelModel to create
-> FormForm to display
-> [SqlValue]Additional params (which are no in form)
-> StringWhere to redirect after creation
-> AController (String, String)(Form HTML, error message)

Controller for creating a Model

Sample usage:

   controller = do
       (form,err) <- create' someModel someForm [] "/url"
       renderToResponseM "template.html" [("form", C form), ("invalid", C err)]
create :: Model -> [SqlValue] -> String -> AController (String, String)
Same, but use modelForm as form
update'
:: ModelModel to edit
-> FormForm to display
-> IntObject ID
-> StringWhere to redirect after edit
-> AController (String, String)(Form HTML, error message)

Controller to edit the Model

Sample usage:

   controller = do
       (form,err) <- update' someModel someForm oid "/url"
       renderToResponseM "template.html" [("form", C form), ("invalid", C err)]
update :: Model -> Int -> String -> AController (String, String)
Same, but use modelForm as form
delete
:: ModelModel to delete
-> IntObject ID
-> StringWhere to redirect afrer deletion
-> AController ()

Controller to delete a Model from DB

Sample usage:

 controller = do
     delete someModel oid "/url"
     renderToResponseM "template.html" []

Template should contain a form or link to set GET or POST variable confirm=yes.

Produced by Haddock version 2.4.2