From 778f0b14c1214f9701551be0ef5e0f3db0e83d50 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 --- 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.11.0