From e27dbf34152d0392cc7def94541de7bd6e35784f Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Mon, 2 Apr 2012 17:50:45 -0400 Subject: [PATCH] Beanstalk Test 1: searching Signed-off-by: Bill Erickson --- Open-ILS/src/perlmods/lib/OpenILS/WWW/Beanstalk.pm | 25 ++++++++++++++++ Open-ILS/src/templates/beanstalk/base.tt2 | 15 ++++++++++ Open-ILS/src/templates/beanstalk/home.tt2 | 19 ++++++++++++ Open-ILS/src/templates/beanstalk/results.tt2 | 35 ++++++++++++++++++++++ 4 files changed, 94 insertions(+) create mode 100644 Open-ILS/src/perlmods/lib/OpenILS/WWW/Beanstalk.pm create mode 100644 Open-ILS/src/templates/beanstalk/base.tt2 create mode 100644 Open-ILS/src/templates/beanstalk/home.tt2 create mode 100644 Open-ILS/src/templates/beanstalk/results.tt2 diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/Beanstalk.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/Beanstalk.pm new file mode 100644 index 0000000000..ca34c229c2 --- /dev/null +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/Beanstalk.pm @@ -0,0 +1,25 @@ +package OpenILS::WWW::Beanstalk; +use base q/OpenILS::WWW::EGCatLoader/; +use strict; use warnings; +use Apache2::Const -compile => qw(OK DECLINED FORBIDDEN HTTP_INTERNAL_SERVER_ERROR REDIRECT HTTP_BAD_REQUEST); + + +sub load { + my $self = shift; + + $self->init_ro_object_cache; + my $stat = $self->load_common; + return $stat unless $stat == Apache2::Const::OK; + + $self->ctx->{opac_root} =~ s/opac/beanstalk/g; + + my $path = $self->apache->path_info; + + return $self->load_simple("home") if $path =~ m|beanstalk/home|; + return $self->load_rresults if $path =~ m|beanstalk/results|; + + return Apache2::Const::OK; +} + +1; + diff --git a/Open-ILS/src/templates/beanstalk/base.tt2 b/Open-ILS/src/templates/beanstalk/base.tt2 new file mode 100644 index 0000000000..915ebcfb15 --- /dev/null +++ b/Open-ILS/src/templates/beanstalk/base.tt2 @@ -0,0 +1,15 @@ + + + + + [% IF ctx.refresh %] + + [% ELSIF ctx.authtime %] + + [% END %] + [% l('Catalog - [_1]', ctx.page_title) %] + + + [% content %] + + diff --git a/Open-ILS/src/templates/beanstalk/home.tt2 b/Open-ILS/src/templates/beanstalk/home.tt2 new file mode 100644 index 0000000000..4a1c761749 --- /dev/null +++ b/Open-ILS/src/templates/beanstalk/home.tt2 @@ -0,0 +1,19 @@ +[% + PROCESS 'opac/parts/header.tt2'; + WRAPPER 'beanstalk/base.tt2'; + PROCESS 'opac/parts/org_selector.tt2' +%] +
+
+
[% l('Search the Catalog') %]
+
+ +
+
[% INCLUDE "opac/parts/qtype_selector.tt2" id="qtype" %]
+
[% INCLUDE build_org_selector show_loc_groups=1 %]
+ +
+
+[% END %] diff --git a/Open-ILS/src/templates/beanstalk/results.tt2 b/Open-ILS/src/templates/beanstalk/results.tt2 new file mode 100644 index 0000000000..40c42d84d4 --- /dev/null +++ b/Open-ILS/src/templates/beanstalk/results.tt2 @@ -0,0 +1,35 @@ +[% PROCESS "opac/parts/header.tt2"; + WRAPPER "beanstalk/base.tt2"; + PROCESS "opac/parts/misc_util.tt2"; + + ctx.page_title = l("Search Results: ") _ CGI.param('query') | html; + page = CGI.param('page'); + page = page.match('^\d+$') ? page : 0; # verify page is a sane value + + page_count = ctx.page_size == 0 ? 1 : POSIX.ceil(ctx.hit_count / ctx.page_size); + ctx.result_start = 1 + ctx.page_size * page; + ctx.result_stop = ctx.page_size * (page + 1); + IF ctx.result_stop > ctx.hit_count; ctx.result_stop = ctx.hit_count; END; + result_count = ctx.result_start; + +%] + + + [% FOR rec IN ctx.records; + attrs = {marc_xml => rec.marc_xml}; + PROCESS get_marc_attrs args=attrs; + IF CGI.param('detail_record_view'); + attrs.title = attrs.title_extended; + END + -%] + + + +[% END %] +
+ l('Display record details for "[_1]"', attrs.title)) %] + >[% attrs.title | html %] +
+ +[% END %] -- 2.11.0