NAME
Catalyst::Controller::CRUD - CRUD (create/read/update/delete) Controller for Catalyst
SYNOPSIS
package MyApp::Controller::Foo;
use base qw(Catalyst::Controller);
use Catalyst::Controller::CRUD::CDBI;
sub create : Local {
my ($self, $c) = @_;
Catalyst::Controller::CRUD::CDBI->create($c, $self);
}
1;
DESCRIPTION
This module provides CRUD (create/read/update/delete) action.
create: insert new record
read: retrieve record
update: update already record
delete: delete record
list: retrieve all records
EXPORT
None by default.
METHODS
create
create action.
if $c->stash->{create}->{error}, then do not insert new recoed.
triggers:
$self->call_trigger( 'input_before', $c );
$self->call_trigger( 'create_check', $c, $hash );
$self->call_trigger( 'create_after', $c, $model );
read
read action.
update
update action.
if $c->stash->{update}->{error}, then do not update already recoed.
triggers:
$self->call_trigger( 'input_before', $c );
$self->call_trigger( 'update_check', $c, $model );
$self->call_trigger( 'update_after', $c, $model );
delete
delete action.
if $c->stash->{delete}->{error}, then do not delete recoed.
triggers:
$self->call_trigger( 'delete_check', $c, $model );
$self->call_trigger( 'delete_after', $c, $model );
list
list action.
INTERFACE METHODS
model_to_hashref($this,$model)
translate model object to hash reference. this method must be implemented by sub class.
get_model($this,$c,$self,$id)
return model from $id. this method must be implemented by sub class.
get_models($this,$c,$self)
return all models. this method must be implemented by sub class.
INTERNAL METHODS
_do_create($this,$c,$self)
insert new record.
_prepare_copy($this,$c,$self)
prepare for /xxx/create/yyy.
_do_update($this,$c,$self)
update already record.
SEE ALSO
Catalyst, Catalyst::Plugin::CRUD
AUTHOR
Jun Shimizu, <bayside@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2006,2007 by Jun Shimizu
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.2 or, at your option, any later version of Perl 5 you may have available.