[Koha-patches] [PATCH 09/54] MT4095 add exact matching filter for categorycode and branchcode fields in search members's result MT1416 Fix borrower address display in intranet The display of borrower adresses composed of streetnumber, streettype and address was broken. MT3828 fixing filters on result page for patrons search During a search for a patron with filters selected, on the result page the filters disappeared, this patch fixes the bug

paul.poulain at biblibre.com paul.poulain at biblibre.com
Thu Dec 16 11:54:03 CET 2010


From: Paul Poulain <paul.poulain at biblibre.com>

(written by Stephane Delaune & Christophe Croullebois)
---
 .../prog/en/modules/members/member.tmpl            |    3 +-
 members/member.pl                                  |   23 ++++++++++++++-----
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tmpl
index fef7b69..1ce735b 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tmpl
@@ -28,7 +28,7 @@
 						<!-- TMPL_IF NAME="resultsloop" -->
 						<div id="searchheader"> <h3>Results <!-- TMPL_VAR Name ="from" --> to <!-- TMPL_VAR Name ="to" --> of <!-- TMPL_VAR Name ="numresults" --> found for <!--TMPL_IF Name="member"-->'<span class="ex"><!-- TMPL_VAR NAME="member" --></span>'<!--/TMPL_IF--><!--TMPL_IF Name="surname"-->'<span class="ex"><!-- TMPL_VAR NAME="surname" --></span>'<!--/TMPL_IF--></h3></div>
 						<div class="searchresults">
-
+						<div class="pages"><!--TMPL_IF Name="multipage"--><!--TMPL_VAR Name="paginationbar" --><!--/TMPL_IF--></div>
 							<table id="memberresultst">
 							<thead>
 							<tr>
@@ -91,6 +91,7 @@
 			</div>
 
     </div>
+		     
 </div>
 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
 <script type="text/javascript">//<![CDATA[
diff --git a/members/member.pl b/members/member.pl
index 755a051..0f1c103 100755
--- a/members/member.pl
+++ b/members/member.pl
@@ -51,7 +51,6 @@ my $patron = $input->Vars;
 foreach (keys %$patron){
 	delete $$patron{$_} unless($$patron{$_}); 
 }
-
 my @categories=C4::Category->all;
 my $branches=(defined $$patron{branchcode}?GetBranchesLoop($$patron{branchcode}):GetBranchesLoop());
 
@@ -74,14 +73,13 @@ if (C4::Context->preference("AddPatronLists")=~/code/){
 my $member=$input->param('member');
 my $orderbyparams=$input->param('orderby');
 my @orderby;
-if ($orderbyparams){
+if ($orderbyparams and not $quicksearch){
 	my @orderbyelt=split(/,/,$orderbyparams);
 	push @orderby, {$orderbyelt[0]=>$orderbyelt[1]||0};
 }
 else {
 	@orderby = ({surname=>0},{firstname=>0});
 }
-
 $member =~ s/,//g;   #remove any commas from search string
 $member =~ s/\*/%/g;
 
@@ -93,19 +91,31 @@ push @searchpatron, $patron if (keys %$patron);
 my $from= ($startfrom-1)*$resultsperpage;
 my $to=$from+$resultsperpage;
  #($results)=Search(\@searchpatron,{surname=>1,firstname=>1},[$from,$to],undef,["firstname","surname","email","othernames"]  ) if (@searchpatron);
- my $search_scope=($quicksearch?"field_start_with":"contain");
- ($results)=Search(\@searchpatron,\@orderby,undef,undef,["firstname","surname","email","othernames","cardnumber","userid"],$search_scope  ) if (@searchpatron);
+ my $search_scope=($quicksearch?"field_start_with":"start_with");
+ ($results)=Search(\@searchpatron,\@orderby,undef,undef,["firstname","surname","othernames","cardnumber","userid"],$search_scope  ) if (@searchpatron);
 if ($results){
+	for my $field ('categorycode','branchcode'){
+		next unless ($patron->{$field});
+		@$results = grep { $_->{$field} eq $patron->{$field} } @$results; 
+	}
 	$count =scalar(@$results);
 }
+
+if($count == 1){
+    print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=" . @$results[0]->{borrowernumber});
+    exit;
+}
+
 my @resultsdata;
 $to=($count>$to?$to:$count);
 my $index=$from;
+
 foreach my $borrower(@$results[$from..$to-1]){
   #find out stats
   my ($od,$issue,$fines)=GetMemberIssuesAndFines($$borrower{'borrowernumber'});
 
   $$borrower{'dateexpiry'}= C4::Dates->new($$borrower{'dateexpiry'},'iso')->output('syspref');
+    $$borrower{'address'}=getFullBorrowerAddress($$borrower{'borrowernumber'});
 
   my %row = (
     count => $index++,
@@ -157,7 +167,8 @@ $template->param(
 );
 $template->param(
     branchloop=>$branches,
-    categories=>\@categories,
+    categories => \@categories,
+    showfilter => ( $$patron{branchcode} || $$patron{categorycode}),
 );
 
 
-- 
1.7.1



More information about the Koha-patches mailing list