Jifty::Action::Record::Execute(3pm)

Jifty::Action::Record::Execute3pm

Simple abstract based for record actions

Usage

  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;

Overview

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.

Releases

2 releases since Debian 6.0 (Squeeze); the text changed 1 time.

  1. 6.0
  2. 7

License

Jifty is Copyright 2005-2010 Best Practical Solutions, LLC. Jifty is distributed under the same terms as Perl itself.

From libjifty-perl 1.10518+dfsg-2 in Debian 7 (Wheezy). Parsed by carta from the page's man source.