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 use OpenILS::Utils::Fieldmapper;
23 my $bt = $e->retrieve_acq_currency_type('USD');
25 my $resp = $e->update_acq_currency_type($bt);
30 my $po = $e->retrieve_acq_purchase_order($po_id) or oils_event_die($e->event);
31 my $orgs = $apputils->get_org_ancestors($po->ordering_agency);
32 $orgs = $e->search_actor_org_unit([{id => $orgs}, {flesh => 1, flesh_fields => {aou => ['ou_type']}}]);
33 $orgs = [ sort { $a->ou_type->depth cmp $b->ou_type->depth } @$orgs ];
35 for my $org (reverse @$orgs) {
36 $def = $e->search_action_trigger_event_definition({hook => $hook, owner => $org->id})->[0];
40 die "No event_definition found with hook $hook\n" unless $def;
41 print "using def " . $def->id . " at org_unit " . $def->owner . "\n";
43 my $event_id = $apputils->simplereq(
45 'open-ils.trigger.event.autocreate.by_definition',
46 $def->id, $po, $po->ordering_agency);
49 my $result = $apputils->simplereq(
51 'open-ils.trigger.event.fire', $event_id);
54 print "Event state is " . $result->{event}->state . "\n";
56 my $event = $e->retrieve_action_trigger_event(
59 {flesh => 1, flesh_fields => {atev => ['template_output', 'error_output']}}
65 if($event->template_output) {
66 print $event->template_output->data . "\n";
68 if($event->error_output) {
69 print $event->error_output->data . "\n";