From 1361c1e9dfd0a0c8ad84b77ed0d78b13dea8b7b9 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Wed, 14 Aug 2013 17:17:26 +0300 Subject: [PATCH] blah, fails. --- .../lib/OpenILS/Application/Trigger/Reactor.pm | 50 ++++++++++++++-------- Open-ILS/src/perlmods/lib/OpenILS/Utils/Templar.pm | 9 ++-- 2 files changed, 39 insertions(+), 20 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor.pm index 7c9127aa0f..a0e47ee19a 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor.pm @@ -13,6 +13,9 @@ use OpenILS::Application::AppUtils; 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 } @@ -436,29 +439,42 @@ sub run_TT { 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; } diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Utils/Templar.pm b/Open-ILS/src/perlmods/lib/OpenILS/Utils/Templar.pm index ac608a4fc7..cff35dd503 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Utils/Templar.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Utils/Templar.pm @@ -39,6 +39,8 @@ sub process { 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; @@ -59,7 +61,7 @@ sub process { if (!$tt) { #warn "Templar: Error creating template processor: $@"; - return 1; + return ('error' => 1); } if (!$tt->process($template, $ttc, $output)) { my $error; @@ -68,9 +70,10 @@ sub process { #print "
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;
 }
 
 
-- 
2.11.0