Jifty::Action::Record::Execute.3pm

Langue: en

Version: 2009-07-20 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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-reluctance
               capacitive-duractance
               sinusoidal-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-2006 Best Practical Solutions, LLC. Jifty is distributed under the same terms as Perl itself.