blah, fails. user/paxed/templar-test
authorPasi Kallinen <pasi.kallinen@pttk.fi>
Wed, 14 Aug 2013 14:17:26 +0000 (17:17 +0300)
committerPasi Kallinen <pasi.kallinen@pttk.fi>
Wed, 14 Aug 2013 17:55:55 +0000 (20:55 +0300)
Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor.pm
Open-ILS/src/perlmods/lib/OpenILS/Utils/Templar.pm

index 7c9127a..a0e47ee 100644 (file)
@@ -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;
 }
index ac608a4..cff35dd 100644 (file)
@@ -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 "<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;
 }