From 79fa6b560c053efa1e4aee39350a5c9574fcb036 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 13 Jan 2016 13:44:10 +0000 Subject: [PATCH] Bug 14610 [QA Followup] - Add non-ajax patron search --- circ/request-article.pl | 25 +++++++++++++- .../prog/en/modules/circ/request-article.tt | 39 ++++++++++++++++++++-- 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/circ/request-article.pl b/circ/request-article.pl index 7881efd..448cac8 100755 --- a/circ/request-article.pl +++ b/circ/request-article.pl @@ -21,6 +21,7 @@ use Modern::Perl; use C4::Output; use C4::Auth; +use C4::Utils::DataTables::Members; use Koha::Biblios; use Koha::Borrowers; use Koha::ArticleRequests; @@ -39,9 +40,31 @@ my ( $template, $borrowernumber, $cookie, $flags ) = get_template_and_user( my $biblionumber = $input->param('biblionumber'); my $patron_cardnumber = $input->param('patron_cardnumber'); +my $patron_id = $input->param('patron_id'); my $biblio = Koha::Biblios->find($biblionumber); -my $patron = $patron_cardnumber ? Koha::Borrowers->find( { cardnumber => $patron_cardnumber } ) : undef; +my $patron = Koha::Borrowers->find( $patron_id ? $patron_id : { cardnumber => $patron_cardnumber } ); + +if (!$patron && $patron_cardnumber) { + my $results = C4::Utils::DataTables::Members::search( + { + searchmember => $patron_cardnumber, + dt_params => { iDisplayLength => -1 }, + } + ); + + my $patrons = $results->{patrons}; + + if ( scalar @$patrons == 1 ) { + $patron = Koha::Borrowers->find( $patrons->[0]->{borrowernumber} ); + } + elsif (@$patrons) { + $template->param( patrons => $patrons ); + } + else { + $template->param( no_patrons_found => $patron_cardnumber ); + } +} $template->param( biblio => $biblio, diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt index 04fae7d..0ce2cc7 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt @@ -112,8 +112,43 @@ $(document).ready(function() {

Request article from [% biblio.title | html %]

- - [% UNLESS patron %] + [% IF no_patrons_found %] +
+

Patron not found

+

No patron with this name, please, try another

+
+ [% ELSIF patrons %] +
+
+ + + + + + + + + + + + + [% FOREACH patron IN patrons %] + + + + + + + + + [% END %] + +
NameCardnumberCategoryLibraryAddress
[% patron.surname %], [% patron.firstname %][% patron.cardnumber %][% patron.categorycode %][% patron.branchcode %][% patron.address %]
+ +
+
+
+ [% ELSIF !patron %]
-- 2.1.4