|
NAMECatalyst::Enzyme::CRUD::Controller - CRUD Controller Base Class with CRUD supportSYNOPSISSee Catalyst::EnzymePROPERTIESmodel_classThe model class, overloaded by you in each controller class to return the actual class name for the Model this controller should handle.So in your Controller classes, something like this is recommended: sub model_class { return("BookShelf::Model::BookShelfDB::Genre"); } METHODS - ACTIONSThese are the default CRUD actions.You should read the source so you know what the actions do, and how you can adjust or block them in your own code. They also deal with form validation, messages, and errors in a certain way that you could use (or not, you may have a better way) in your own Controller actions. auto : PrivateSet up the default model and class for this Controllerset_crud_controller : PrivateSet the current Controller and it's Model class (and the Model's configuration using the model_class() ).Point $self->crud_config to the Model's config->{crud}. Set crud_config keys: model_class model moniker (default) rows_per_page (default 20) column_monikers (default) Set stash keys: crud (to the crud_config) controller_namespace (to the Controller's namespace) uri_for_list (to a version that accepts array refs from TT) Return 1.
defaultForward to list.listDisplay list templateviewSelect a row and display view template.addDisplay add templatedo_addAdd a new row and redirect to list.editDisplay edit template.do_editEdit a row and redirect to edit.deleteDisplay delete template.do_deleteDestroy row and forward to list.METHODSdefault_dfvReturn hash ref with a default Data::FormValidator config.crud_config()Return hash ref with config values form the Model class' config->{crud} (so model_class needs to be set).model_with_pager($c, $rows_per_page, $page)Return either the current model class, or (if $rows_per_page > 0) a pager for the current model class. $page indicates which page to display in the pager (default to the first page).Assign the pager to $c->stash->{pager}. The Model class (or it's base class) must "use Class::DBI::Pager". template_with_item($template, $c, $id)Retrieve object with $id and set the $template. Suitable to call like this in an action (nothing else is needed):sub edit : Local { shift->template_with_item("edit.tt", @_); } AUTHORJohan Lindstrom <johanl ÄT cpan.org>LICENSEThis library is free software . You can redistribute it and/or modify it under the same terms as perl itself.POD ERRORSHey! The above document had some coding errors, which are explained below:
Visit the GSP FreeBSD Man Page Interface. |