NAME
Maypole::Model::CDBI::DFV - Class::DBI::DFV model for Maypole.
SYNOPSIS
package Foo;
use 'Maypole::Application';
Foo->config->model("Maypole::Model::CDBI::DFV");
Foo->setup([qw/ Foo::SomeTable Foo::Other::Table /]);
# Look ma, no untainting
sub Foo::SomeTable::SomeAction : Exported {
. . .
}
DESCRIPTION
This module allows you to use Maypole with previously set-up Class::DBI classes that use Class::DBI::DFV;
Simply call setup
with a list reference of the classes you're going to use, and Maypole will work out the tables and set up the inheritance relationships as normal.
Better still, it will also set use your DFV profile to validate input instead of CGI::Untaint. For teh win!!
METHODS
setup
This method is inherited from Maypole::Model::Base and calls setup_database,
which uses Class::DBI::Loader to create and load Class::DBI classes from
the given database schema.
setup_database
This method loads the model classes for the application
class_of
returns class for given table
adopt
This class method is passed the name of a model class that represensts a table and allows the master model class to do any set-up required.
check_params
Checks parameters against the DFV profile for the class, returns the results
of DFV's check.
my $dfv_results = __PACKAGE__->check_params($r->params);
Action Methods
Action methods are methods that are accessed through web (or other public) interface.
Inherited from Maypole::Model::CDBI::Base except do_edit (below)
do_edit
If there is an object in $r->objects
, then it should be edited with the parameters in $r->params
; otherwise, a new object should be created with those parameters, and put back into $r->objects
. The template should be changed to view
, or edit
if there were any errors. A hash of errors will be passed to the template.
do_delete
Inherited from Maypole::Model::CDBI::Base.
This action deletes records
do_search
Inherited from Maypole::Model::CDBI::Base.
This action method searches for database records.
list
Inherited from Maypole::Model::CDBI::Base.
The list
method fills $r->objects
with all of the objects in the class. The results are paged using a pager.
SEE ALSO
AUTHOR
Aaron Trevena.
LICENSE
You may distribute this code under the same terms as Perl itself.