Workflow::History - Recorded work on a workflow action or workflow itself


Workflow documentation  | view source Contained in the Workflow distribution.

Index


NAME

Top

Workflow::History - Recorded work on a workflow action or workflow itself

VERSION

Top

This documentation describes version 1.10 of this package

SYNOPSIS

Top

 # in your action
 sub execute {
     my ( $self, $wf ) = @_;
     my $current_user = $wf->context->param( 'current_user' );
     # ... do your work with $ticket
     $wf->add_history( action => 'create ticket',
                       user   => $current_user->full_name,
                       description => "Ticket $ticket->{subject} successfully created" );
 }

 # in your view (using TT2)
 [% FOREACH history = workflow.get_history %]
    On:     [% OI.format_date( history.date, '%Y-%m-%d %H:%M' ) %]<br>
    Action: [% history.action %] (ID: [% history.id %])<br>
    by:     [% history.user %]<br>
    [% history.description %]
 [% END %]

DESCRIPTION

Top

Every workflow can record its history. More appropriately, every action the workflow executes can deposit history entries in the workflow to be saved later. Neither the action nor the workflow knows about how the history is saved, just that the history is available.

METHODS

Top

Public Methods

new( \%params )

Create a new history object, filling it with properties from \%params.

set_new_state( $new_state )

Assigns the new state $new_state to the history if the state is not already assigned. This is used when you generate a history request in a Workflow::Action since the workflow state will change once the action has successfully completed. So in the action you create a history object without the state:

  $wf->add_history(
      Workflow::History->new({
          action      => "Cocoa Puffs",
          description => "They're magically delicious",
          user        => "Count Chocula",
      })
  );

And then after the new state has been set but before the history objects are stored the workflow sets the new state in all unsaved history objects.

is_saved()

Returns true (1) if this history object has been saved, false (0) if not.

Properties

clear_saved

Sets saved state to false and returns 0

set_saved

Sets saved state to true and returns 1

SEE ALSO

Top

Workflow

COPYRIGHT

Top

AUTHORS

Top

Jonas B. Nielsen (jonasbn) <jonasbn@cpan.org> is the current maintainer.

Chris Winters <chris@cwinters.com>


Workflow documentation  | view source Contained in the Workflow distribution.