use OpenILS::Utils::CStoreEditor qw/:funcs/;
my $U = 'OpenILS::Application::AppUtils';
+use OpenILS::Utils::Templar;
+use Data::Dumper;
+
sub fourty_two { return 42 }
sub NOOP_True { return 1 }
sub NOOP_False { return 0 }
my $error;
my $output = '';
- my $tt = Template->new;
+# my $tt = Template->new;
# my $tt = Template->new(ENCODING => 'utf8'); # ??
$env->{helpers} = $_TT_helpers;
- unless( $tt->process(\$env->{template}, $env, \$output) ) {
- $output = undef;
- ($error = $tt->error) =~ s/\n/ /og;
- $logger->error("Error processing Trigger template: $error");
- }
-
- if ( $error or (!$nostore && $output) ) {
- my $t_o = Fieldmapper::action_trigger::event_output->new;
- $t_o->data( ($error) ? $error : $output );
- $t_o->is_error( ($error) ? 't' : 'f' );
- $logger->info("trigger: writing " . length($t_o->data) . " bytes to template output");
+ my %tt_locales = (); # TODO
- $env->{EventProcessor}->editor->xact_begin;
- $t_o = $env->{EventProcessor}->editor->create_action_trigger_event_output( $t_o );
+ my $TR = 'OpenILS::Utils::Templar';
- my $state = (ref $$env{event} eq 'ARRAY') ? $$env{event}->[0]->state : $env->{event}->state;
- my $key = ($error) ? 'error_output' : 'template_output';
- $env->{EventProcessor}->update_state( $state, { $key => $t_o->id } );
+ if ($TR->load_locale_handlers(%tt_locales)) {
+ #print "error at load_locale_handlers\n";
+ } {
+ # foo
}
+
+
+# my $tt = Template->new;
+
+# unless( $tt->process(\$env->{template}, $env, \$output) ) {
+# $output = undef;
+# ($error = $tt->error) =~ s/\n/ /og;
+# $logger->error("Error processing Trigger template: $error");
+# }
+
+# if ( $error or (!$nostore && $output) ) {
+# my $t_o = Fieldmapper::action_trigger::event_output->new;
+# $t_o->data( ($error) ? $error : $output );
+# $t_o->is_error( ($error) ? 't' : 'f' );
+# $logger->info("trigger: writing " . length($t_o->data) . " bytes to template output");
+#
+# $env->{EventProcessor}->editor->xact_begin;
+# $t_o = $env->{EventProcessor}->editor->create_action_trigger_event_output( $t_o );
+#
+# my $state = (ref $$env{event} eq 'ARRAY') ? $$env{event}->[0]->state : $env->{event}->state;
+# my $key = ($error) ? 'error_output' : 'template_output';
+# $env->{EventProcessor}->update_state( $state, { $key => $t_o->id } );
+# }
return $output;
}
my $locale = $parm->{locale} || 'en_us';
my $text_handler = set_text_handler($locale);
+ my %ret = ('error' => 0);
+
$ttc->{encode_utf8} = sub {return encode_utf8(shift())};
$ttc->{ctx}->{encode_utf8} = sub {return encode_utf8(shift())} if (!exists($ttc->{ctx}->{encode_utf8}));
$ttc->{ENV} = \%ENV;
if (!$tt) {
#warn "Templar: Error creating template processor: $@";
- return 1;
+ return ('error' => 1);
}
if (!$tt->process($template, $ttc, $output)) {
my $error;
#print "<pre>Templar: Error processing: " . $tt->error() . "\n";
#print Dumper($template)."\n";
#print Dumper($ttc)."\n";
- return 2;
+ return ('error' => 2);
}
- return 0;
+ $ret{'output'} = $output if ($output);
+ return %ret;
}