From: erickson Date: Tue, 3 Mar 2009 22:54:00 +0000 (+0000) Subject: plugged in some template toolkit helpers X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=3a981de2bdb7c7f308f86c974c28ba5396ff9154;p=Evergreen.git plugged in some template toolkit helpers git-svn-id: svn://svn.open-ils.org/ILS/trunk@12389 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Reactor.pm b/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Reactor.pm index 8d8e417c0f..fc436431d8 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Reactor.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Reactor.pm @@ -1,7 +1,11 @@ package OpenILS::Application::Trigger::Reactor; use strict; use warnings; use Template; +use DateTime; +use DateTime::Format::ISO8601; +use OpenSRF::Utils qw/:datetime/; use OpenSRF::Utils::Logger qw(:logger); +use OpenILS::Application::AppUtils; sub fourty_two { return 42 } sub NOOP_True { return 1 } @@ -17,10 +21,43 @@ sub run_TT { my $output = ''; my $tt = Template->new; + $env->{format_date} = \&format_date; + $env->{escape_xml} = \&escape_xml; + $env->{user_locale} = \&user_locale; + $tt->process(\$env->{template}, $env, \$output) or $logger->error("Error processing Trigger template: " . $tt->error); return $output; } +# turns a date into something TT can understand +sub format_date { + my $date = shift; + $date = DateTime::Format::ISO8601->new->parse_datetime(clense_ISO8601($date)); + return sprintf( + "%0.2d:%0.2d:%0.2d %0.2d-%0.2d-%0.4d", + $due->hour, + $due->minute, + $due->second, + $due->day, + $due->month, + $due->year + ); +} + +sub escape_xml { + my $str = shift; + $str =~ s/&/&/sog; + $str =~ s//>/sog; + return $str; +} + + +sub user_locale { + my $user_id = shift; + return OpenILS::Application::AppUtils->get_user_locale($user_id); +} + 1;