2 # OpenILS::Template::Plugin::ResolverResolver
6 # Simple Template Toolkit Plugin which hooks into Dan Scott's Resolver
9 # Art Rhyno <http://projectconifer.ca>
15 # GNU General Public License v2 or later
17 #============================================================================
19 package Template::Plugin::ResolverResolver;
23 use base 'Template::Plugin';
24 use OpenILS::Application::ResolverResolver;
25 use OpenILS::Application;
26 use base qw/OpenILS::Application/;
27 use OpenSRF::AppSession;
33 my ( $class, $context ) = @_;
38 my ( $class, $context, @params ) = @_;
40 bless { _CONTEXT => $context, }, $class;
43 # monkeypatch ResolverResolver::params() method to Do The Right Thing in TT land
45 sub ResolverResolver::params {
49 return $self->{ _TT_PARAMS } ||= do {
50 # must call Vars() in a list context to receive
51 # plain list of key/vals rather than a tied hash
52 my $params = { $self->Vars() };
54 # convert any null separated values into lists
55 @$params{ keys %$params } = map {
56 /\0/ ? [ split /\0/ ] : $_
65 my ($class, $issn, $baseurl, $timeout) = @_;
67 if (length($issn) <= 9) {
68 my $session = OpenSRF::AppSession->create("open-ils.resolver");
70 my $request = $session->request("open-ils.resolver.resolve_holdings.raw", "issn", $issn, $baseurl, $timeout)->gather();
74 $session->disconnect();
82 my ($class, $isbn, $baseurl, $timeout) = @_;
84 my $session = OpenSRF::AppSession->create("open-ils.resolver");
86 my $request = $session->request("open-ils.resolver.resolve_holdings.raw", "isbn", $isbn, $baseurl, $timeout)->gather();
91 $session->disconnect();