NAME
Jifty::Action::Record::Execute - Simple abstract based for record actions
SYNOPSIS
use strict;use warnings;package MyApp::Action::StartEncabulator;use base qw/ MyApp::Action::ExecuteEncabulator /;use Jifty::Param::Schema;use Jifty::Action schema {param cardinal_grammeter_mode =>type is 'text',valid_values are qw/magneto-reluctancecapacitive-duractancesinusoidal-depleneration/,is mandatory,;};sub take_action {my $self = shift;my $mode = $self->argument_value('cardinal_grammeter_mode');$self->record->start($mode);$self->result->success('Deluxe Encabulator has started!');}# Later in your templates:my $encabulator = MyApp::Model::Encabulator->new;$encabulator->load($id);my $startup = Jifty->web->new_action(class => 'StartEncabulator',record => $encabulator,);Jifty->web->form->start;Jifty->web->out( $startup->form_field('cardinal_grammeter_mode') );Jifty->web->form->submit(label => _('Start'),submit => $startup,);Jifty->web->form->end;
DESCRIPTION
This action class is a good generic basis for creating custom action classes. It expects a record object to be associated and is (in this way) very similar to Jifty::Action::Record::Delete.
You can use Jifty::Param::Schema to add additional form fields to the action and such.
METHODS
arguments
This is customized so that it expects the "record" argument of all Jifty::Action::Record actions, but also allows for overrides using Jifty::Param::Schema.
take_action
This overrides the definition in Jifty::Action::Record so that it does absolutely nothing rather than complain. You will probably want to implement your own version that actually does something.
SEE ALSO
Jifty::Action, Jifty::Action::Record, Jifty::Record
LICENSE
Jifty is Copyright 2005-2010 Best Practical Solutions, LLC. Jifty is distributed under the same terms as Perl itself.