From a7d39f8078d46f371bfbdb4e249bbc47f9a8d4d7 Mon Sep 17 00:00:00 2001 From: Alex Arnaud Date: Thu, 22 Feb 2018 15:35:11 +0000 Subject: [PATCH] Bug 20273 - Use compat routines for autocomplete in auth_finder.pl Test plan: - Context: Koha working with elasticsearch, - Apply BZ 19582 (that make auth_finder.pl works again), - apply this patch, - go to cgi-bin/koha/authorities/auth_finder.pl, - type at least 3 chararcters in a search field and check that the autocomplete returns results --- Koha/SearchEngine/Elasticsearch/Search.pm | 1 + authorities/ysearch.pl | 16 ++++++++++++++-- koha-tmpl/intranet-tmpl/prog/js/auth-finder-search.js | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Koha/SearchEngine/Elasticsearch/Search.pm b/Koha/SearchEngine/Elasticsearch/Search.pm index 063dca3..5b11691 100644 --- a/Koha/SearchEngine/Elasticsearch/Search.pm +++ b/Koha/SearchEngine/Elasticsearch/Search.pm @@ -42,6 +42,7 @@ use Modern::Perl; use base qw(Koha::SearchEngine::Elasticsearch); use C4::Context; +use C4::AuthoritiesMarc; use Koha::ItemTypes; use Koha::AuthorisedValues; use Koha::SearchEngine::QueryBuilder; diff --git a/authorities/ysearch.pl b/authorities/ysearch.pl index 4a5ae79..9861f87 100755 --- a/authorities/ysearch.pl +++ b/authorities/ysearch.pl @@ -33,9 +33,10 @@ use JSON; use C4::Context; use C4::Charset; -use C4::AuthoritiesMarc; use C4::Auth qw/check_cookie_auth/; use C4::Output; +use Koha::SearchEngine::Search; +use Koha::SearchEngine::QueryBuilder; my $query = new CGI; @@ -60,7 +61,18 @@ if ( $auth_status ne "ok" ) { my $resultsperpage = 50; my $startfrom = 0; - my ( $results, $total ) = SearchAuthorities( \@marclist, \@and_or, \@excluding, \@operator, \@value, $startfrom * $resultsperpage, $resultsperpage, $authtypecode, $orderby ); + my $builder = Koha::SearchEngine::QueryBuilder->new( + { index => $Koha::SearchEngine::AUTHORITIES_INDEX } ); + my $searcher = Koha::SearchEngine::Search->new( + { index => $Koha::SearchEngine::AUTHORITIES_INDEX } ); + my $search_query = $builder->build_authorities_query_compat( + \@marclist, \@and_or, \@excluding, \@operator, + \@value, $authtypecode, $orderby + ); + my $offset = $startfrom * $resultsperpage; + my ( $results, $total ) = + $searcher->search_auth_compat( $search_query, $offset, + $resultsperpage ); my %used_summaries; # hash to avoid duplicates my @summaries; diff --git a/koha-tmpl/intranet-tmpl/prog/js/auth-finder-search.js b/koha-tmpl/intranet-tmpl/prog/js/auth-finder-search.js index 2e853e2..f629f5d 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/auth-finder-search.js +++ b/koha-tmpl/intranet-tmpl/prog/js/auth-finder-search.js @@ -23,7 +23,7 @@ $(document).ready(function(){ and_or: "and", operator: "contains", orderby: "HeadingAsc", - querytype: "marclist" + querytype: "all" }, success: function(data) { response( $.map( data, function( item ) { -- 2.7.4