3 #----------------------------------------------------------------
5 #----------------------------------------------------------------
7 require '../oils_header.pl';
8 use vars qw/$apputils/;
12 my $username = shift || 'admin';
13 my $password = shift || 'open-ils';
15 my $hook = shift || 'format.po.jedi';
17 osrf_connect($config);
18 oils_login($username, $password);
19 my $e = OpenILS::Utils::CStoreEditor->new;
21 my $po = $e->retrieve_acq_purchase_order($po_id) or oils_event_die($e->event);
22 my $orgs = $apputils->get_org_ancestors($po->ordering_agency);
23 my $defs = $e->search_action_trigger_event_definition({hook => $hook, owner => $orgs});
24 $defs = [sort { $a->id cmp $b->id } @$defs ]; # this is a brittle hack, but.. meh
26 print "using def " . $def->id . " at org_unit " . $def->owner . "\n";
28 die "No event_definition found with hook $hook\n" unless $def;
30 my $event_id = $apputils->simplereq(
32 'open-ils.trigger.event.autocreate.by_definition',
33 $def->id, $po, $po->ordering_agency);
36 my $result = $apputils->simplereq(
38 'open-ils.trigger.event.fire', $event_id);
41 print "Event state is " . $result->{event}->state . "\n";
43 my $event = $e->retrieve_action_trigger_event(
46 {flesh => 1, flesh_fields => {atev => ['template_output', 'error_output']}}
50 if($event->template_output) {
51 print $event->template_output->data . "\n";
53 if($event->error_output) {
54 print $event->error_output->data . "\n";