Bug 10578: fix results sorting in staff interface
To test (in librarian's interface):
1. Have some biblio records to get a list when searching.
2. Make an advanced search with 'as phrase' modifier (title -- ti,phr:
or author -- au,phr: , etc.)
3. Having the result list try to change the sort order.
4. You should get no results with a message like: "No results match your
search for 'au%2Cphr: " etc.
5. Apply the patch
6. Repeat steps 2. & 3.
7. You should get the list sorted according to your choice.
Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works nicely, passes all tests and QA script.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 0b05d1acb9)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
ccd8245321
commit
257bd313b3
|
|
@ -148,6 +148,7 @@ use C4::Languages qw(getAllLanguages);
|
|||
use C4::Koha;
|
||||
use C4::Members qw(GetMember);
|
||||
use C4::VirtualShelves;
|
||||
use URI::Escape;
|
||||
use POSIX qw(ceil floor);
|
||||
use C4::Branch; # GetBranches
|
||||
|
||||
|
|
@ -391,11 +392,11 @@ unless (@servers) {
|
|||
}
|
||||
# operators include boolean and proximity operators and are used
|
||||
# to evaluate multiple operands
|
||||
my @operators = $cgi->param('op');
|
||||
my @operators = map uri_unescape($_), $cgi->param('op');
|
||||
|
||||
# indexes are query qualifiers, like 'title', 'author', etc. They
|
||||
# can be single or multiple parameters separated by comma: kw,right-Truncation
|
||||
my @indexes = $cgi->param('idx');
|
||||
my @indexes = map uri_unescape($_), $cgi->param('idx');
|
||||
|
||||
# if a simple index (only one) display the index used in the top search box
|
||||
if ($indexes[0] && (!$indexes[1] || $params->{'scan'})) {
|
||||
|
|
@ -404,12 +405,11 @@ if ($indexes[0] && (!$indexes[1] || $params->{'scan'})) {
|
|||
$template->param($idx => 1);
|
||||
}
|
||||
|
||||
|
||||
# an operand can be a single term, a phrase, or a complete ccl query
|
||||
my @operands = $cgi->param('q');
|
||||
my @operands = map uri_unescape($_), $cgi->param('q');
|
||||
|
||||
# limits are use to limit to results to a pre-defined category such as branch or language
|
||||
my @limits = $cgi->param('limit');
|
||||
my @limits = map uri_unescape($_), $cgi->param('limit');
|
||||
|
||||
if($params->{'multibranchlimit'}) {
|
||||
my $multibranch = '('.join( " or ", map { "branch: $_ " } @{ GetBranchesInCategory( $params->{'multibranchlimit'} ) } ).')';
|
||||
|
|
|
|||
Loading…
Reference in New Issue