From 48507259b413c86a216a127f2ba1457edb3e83d4 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 13 Aug 2020 12:56:33 +0000 Subject: [PATCH] Bug 25872: Fix scoping of $limits The code in build_query_compat contained a 'my' in the assigning of limits for the search in a conditional This meant the limits were being set correctly during the conditional, but we blanked when passed to the rest of the code. The effect was that the searches worked, however, the template params to repeat the search were incomplete. Removing the my ensures the same limits are applied during search and on re-sorting To test: 1 - Enable Elasticsearch 2 - On OPAC perform advanced search, selecting only an itype, ccode, or LOC limit 3 - Attempt to sort results 4 - You are returned to Advanced search 5 - Apply patch 6 - Repeat 7 - It sorts! Signed-off-by: Lisette Scheer Signed-off-by: Katrin Fischer Signed-off-by: Jonathan Druart (cherry picked from commit 43dc505a52a2679e40a22ff610c91552cd8f2fd1) Signed-off-by: Lucas Gass --- Koha/SearchEngine/Elasticsearch/QueryBuilder.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm index 8f3aea9445..8e2adf8136 100644 --- a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm +++ b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm @@ -176,7 +176,7 @@ sub build_query_compat { } else { my @sort_params = $self->_convert_sort_fields(@$sort_by); my @index_params = $self->_convert_index_fields(@$indexes); - my $limits = $self->_fix_limit_special_cases($orig_limits); + $limits = $self->_fix_limit_special_cases($orig_limits); if ( $params->{suppress} ) { push @$limits, "suppress:false"; } # Merge the indexes in with the search terms and the operands so that # each search thing is a handy unit. -- 2.39.5