From 7b94501da601a25caf3ee92dd96d520d00a86db3 Mon Sep 17 00:00:00 2001 From: Colin Campbell Date: Thu, 30 May 2013 18:23:55 +0100 Subject: [PATCH] Bug 766 Remove CGI::scrolling_list from request.pl Let the template take care of generating the display. Lets at least part of request.pl be more succinct. To test, place a hold and search for the patron using a partial name. You should get a dropdown select list of patrons and be able to select the patron to hold for from there. The functionality should remain unimpaired after this patch is applied. Signed-off-by: Owen Leonard Signed-off-by: Chris Cormack --- .../prog/en/modules/reserve/request.tt | 16 +++++-- reserve/request.pl | 46 +++++--------------- 2 files changed, 23 insertions(+), 39 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt index 122b2d0..f2c7564 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -177,7 +177,7 @@ function checkMultiHold() {

Patron Not Found

No patron with this name, please, try another

[% END %]
- [% UNLESS ( CGIselectborrower ) %] + [% UNLESS borrower_list %]
Enter patron card number or partial name:
@@ -186,9 +186,17 @@ function checkMultiHold() {
[% ELSE %] -
- [% CGIselectborrower %] -
+
+ +
[% END %] [% IF ( multi_hold ) %] diff --git a/reserve/request.pl b/reserve/request.pl index a0cc055..aea1ff8 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -76,7 +76,6 @@ my $findborrower = $input->param('findborrower'); $findborrower = '' unless defined $findborrower; $findborrower =~ s|,| |g; my $borrowernumber_hold = $input->param('borrowernumber') || ''; -my $borrowerslist; my $messageborrower; my $warnings; my $messages; @@ -113,7 +112,7 @@ if ($findborrower) { $borrowernumber_hold = $borrowers->[0]->{'borrowernumber'}; } else { - $borrowerslist = $borrowers; + $template->param( borrower_list => sort_borrowerlist($borrowers)); } } else { $messageborrower = "'$findborrower'"; @@ -179,38 +178,6 @@ if ($borrowernumber_hold && !$action) { $template->param( messageborrower => $messageborrower ); -my $CGIselectborrower; -if ($borrowerslist) { - my @values; - my %labels; - - foreach my $borrower ( - sort { - uc($a->{surname} - . $a->{firstname}) cmp uc($b->{surname} - . $b->{firstname}) - } @{$borrowerslist} - ) - { - push @values, $borrower->{borrowernumber}; - - $labels{ $borrower->{borrowernumber} } = sprintf( - '%s, %s ... (%s - %s) ... %s', - $borrower->{surname} ||'', $borrower->{firstname} || '', - $borrower->{cardnumber} || '', $borrower->{categorycode} || '', - $borrower->{address} || '', - ); - } - - $CGIselectborrower = CGI::scrolling_list( - -name => 'borrowernumber', - -values => \@values, - -labels => \%labels, - -size => 7, - -multiple => 0, - ); -} - # FIXME launch another time GetMember perhaps until my $borrowerinfo = GetMember( borrowernumber => $borrowernumber_hold ); @@ -608,7 +575,6 @@ foreach my $biblionumber (@biblionumbers) { borrower_branchcode => $borrowerinfo->{'branchcode'}, ); } - $template->param(CGIselectborrower => $CGIselectborrower) if defined $CGIselectborrower; $biblioloopiter{biblionumber} = $biblionumber; $biblioloopiter{title} = $dat->{title}; @@ -640,3 +606,13 @@ $template->param( # printout the page output_html_with_http_headers $input, $cookie, $template->output; + +sub sort_borrowerlist { + my $borrowerslist = shift; + my $ref = []; + push @{$ref}, sort { + uc( $a->{surname} . $a->{firstname} ) cmp + uc( $b->{surname} . $b->{firstname} ) + } @{$borrowerslist}; + return $ref; +} -- 1.7.10.4