From 7422485616745b0a0728c0c2349b7372e79296ea Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Thu, 5 Oct 2017 10:41:33 +0200 Subject: [PATCH] Bug 19415: FindDuplicateAuthority is searching on biblioserver since 16.05 Commit b4392018bc1f9bf6a2f7dfe70b488856ad3a3897 [Bug 12478: make things using SimpleSearch use the new version] changed sub FindDuplicateAuthority and replaced this call (from 3.22.x) in 16.05 (pushed April 2016): my ($error, $results, $total_hits) = C4::Search::SimpleSearch( $query, 0, 1, [ "authorityserver" ] ); The new call does unfortunately not include the authorityserver: my ($error, $results, $total_hits) = $searcher->simple_search_compat( $query, 0, 1 ); Simple_search_compat redirects to C4/Search/SimpleSearch and SimpleSearch assumes a biblioserver if no server is passed. This effectively makes FindDuplicateAuthority useless since we will no longer find duplicates and we could see an error like this in the log: 16:51:42-04/10 zebrasrv(51) [request] Search biblios ERROR 114 1 1+0 RPN @attrset Bib-1 @and @attr 1=authtype PERSO_NAME @attr 1=Heading Moerenhout The fix is obviously trivial. Test plan: [1] Go to Authorities. [2] Add a new authority PERSO_NAME with 100a Moerenhout. [3] Repeat step 2. Verify that you get the duplicate authority warning. Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi Signed-off-by: Jonathan Druart (cherry picked from commit 56500e8e676782155c5717e8db9786af394252d8) Signed-off-by: Fridolin Somers (cherry picked from commit 2ffe76350ee6373dc27ba8ac098a468875c2f4fb) Signed-off-by: Katrin Fischer --- C4/AuthoritiesMarc.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm index c598f49222..0577bc8984 100644 --- a/C4/AuthoritiesMarc.pm +++ b/C4/AuthoritiesMarc.pm @@ -828,7 +828,7 @@ sub FindDuplicateAuthority { } } my $searcher = Koha::SearchEngine::Search->new({index => $Koha::SearchEngine::AUTHORITIES_INDEX}); - my ($error, $results, $total_hits) = $searcher->simple_search_compat( $query, 0, 1 ); + my ($error, $results, $total_hits) = $searcher->simple_search_compat( $query, 0, 1, [ 'authorityserver' ] ); # there is at least 1 result => return the 1st one if (!defined $error && @{$results} ) { my $marcrecord = C4::Search::new_record_from_zebra( -- 2.39.5