From 7f6e8f8616dcaf138eda8d22a340d723319d785d Mon Sep 17 00:00:00 2001 From: Jared Camins-Esakov Date: Sat, 18 May 2013 09:09:23 -0400 Subject: [PATCH] Bug 10281: searching for a search domain fails For reasons I cannot fathom, the split() in handling multi-branch limits was not coming up with a valid search group code. Replacing the split() with a substr() and creating the CGI parameter as a string rather than as an arrayref fixes the problem. This problem may not affect all installations, since I tested this exact feature just under two months ago and it worked fine, and none of the relevant code has been changed since then that I can see. To test: 1) Create search group, and add at least one library to it, in /cgi-bin/koha/admin/branches.pl 2) Apply patch 3) Try doing a search limited to your search group, making sure that the search will match items that belong to a library in the search group 4) Sign off --- opac/opac-search.pl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/opac/opac-search.pl b/opac/opac-search.pl index 363a11e..b527745 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -65,10 +65,13 @@ my $cgi = new CGI; my $branch_group_limit = $cgi->param("branch_group_limit"); if ( $branch_group_limit ) { - if ( $branch_group_limit =~ /^multibranchlimit/ ) { + if ( $branch_group_limit =~ /^multibranchlimit-/ ) { + # For search groups we are going to convert this branch_group_limit CGI + # parameter into a multibranchlimit CGI parameter for the purposes of + # actually performing the query $cgi->param( -name => 'multibranchlimit', - -values => [ ( split( 'multibranchlimit-', $branch_group_limit ) )[1] ] + -values => substr($branch_group_limit, 17) ); } else { $cgi->append( @@ -403,7 +406,8 @@ my @limits = $cgi->param('limit'); @limits = map { uri_unescape($_) } @limits; if($params->{'multibranchlimit'}) { - push @limits, '('.join( " or ", map { "branch: $_ " } @{ GetBranchesInCategory( $params->{'multibranchlimit'} ) } ).')'; + my $multibranch = '('.join( " or ", map { "branch: $_ " } @{ GetBranchesInCategory( $params->{'multibranchlimit'} ) } ).')'; + push @limits, $multibranch if ($multibranch ne '()'); } my $available; -- 1.7.9.5