From e1067688d321ff10e5b4dc74c82e677665c26a16 Mon Sep 17 00:00:00 2001 From: Alex Arnaud Date: Thu, 22 Jul 2021 11:45:15 +0000 Subject: [PATCH] Bug 28484: ES clean title in biblio detail Test plan: - Create a biblio with title like "osteuropa:" or "osteuropa!" - Go the this biblio detail pages (cgi-bin/koha/catalogue/detail.pl) => Error - Apply bug 28316 and this one - test again Signed-off-by: Alex Buckley Signed-off-by: Martin Renvoize Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall --- Koha/SearchEngine/Zebra/QueryBuilder.pm | 13 +++++++++++++ catalogue/detail.pl | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/Koha/SearchEngine/Zebra/QueryBuilder.pm b/Koha/SearchEngine/Zebra/QueryBuilder.pm index 2fc1e1ae8e..4e8063b08e 100644 --- a/Koha/SearchEngine/Zebra/QueryBuilder.pm +++ b/Koha/SearchEngine/Zebra/QueryBuilder.pm @@ -73,4 +73,17 @@ sub build_authorities_query_compat { build_authorities_query(@_); } + +=head2 clean_search_term + + my $term = $self->clean_search_term($term); + +=cut + +sub clean_search_term { + my ( $self, $term ) = @_; + + return $term; +} + 1; diff --git a/catalogue/detail.pl b/catalogue/detail.pl index 0ba37e7253..016225d814 100755 --- a/catalogue/detail.pl +++ b/catalogue/detail.pl @@ -50,6 +50,7 @@ use Koha::Patrons; use Koha::Virtualshelves; use Koha::Plugins; use Koha::SearchEngine::Search; +use Koha::SearchEngine::QueryBuilder; my $query = CGI->new(); @@ -127,8 +128,13 @@ if ( $xslfile ) { my $searcher = Koha::SearchEngine::Search->new( { index => $Koha::SearchEngine::BIBLIOS_INDEX } ); + my $builder = Koha::SearchEngine::QueryBuilder->new( + { index => $Koha::SearchEngine::BIBLIOS_INDEX } ); + my $cleaned_title = $biblio->title; $cleaned_title =~ tr|/||; + $cleaned_title = $builder->clean_search_term($cleaned_title); + my $query = ( C4::Context->preference('UseControlNumber') and $record->field('001') ) ? 'rcn:'. $record->field('001')->data . ' AND (bib-level:a OR bib-level:b)' -- 2.39.5