Bug 33406: Handle ES search errors for authorities
We are dealing ok with ES exceptions for biblio records search, catching them and raising them to the end user. But we don't for authorities, where we explode with an ugly 500. Test plan: Search for "(term_1*) AND (-) AND (term_2*)" in the authority search and notice that you don't get a 500 but an error instead saying that you should try again Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
fbd62562e0
commit
09b29d06da
|
|
@ -88,18 +88,6 @@ if ( $op eq "do_search" ) {
|
|||
my $resultsperpage = $query->param('resultsperpage') || 20;
|
||||
my $offset = ( $startfrom - 1 ) * $resultsperpage + 1;
|
||||
|
||||
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 ( $results, $total ) = $searcher->search_auth_compat(
|
||||
$search_query, $offset, $resultsperpage
|
||||
);
|
||||
|
||||
( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
||||
{
|
||||
template_name => "authorities/searchresultlist.tt",
|
||||
|
|
@ -109,6 +97,27 @@ if ( $op eq "do_search" ) {
|
|||
}
|
||||
);
|
||||
|
||||
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 ( $results, $total );
|
||||
eval {
|
||||
( $results, $total ) = $searcher->search_auth_compat(
|
||||
$search_query, $offset, $resultsperpage
|
||||
);
|
||||
};
|
||||
if ($@) {
|
||||
my $query_error = q{};
|
||||
$query_error .= $@ if $@;
|
||||
$template->param(query_error => $query_error);
|
||||
}
|
||||
|
||||
$template->param( search_query => $search_query ) if C4::Context->preference('DumpSearchQueryTemplate');
|
||||
$template->param(
|
||||
csrf_token => Koha::Token->new->generate_csrf({
|
||||
|
|
|
|||
|
|
@ -48,6 +48,10 @@
|
|||
|
||||
<div id="merge_in_progress" class="page-section bg-info" style="display:none;"></div>
|
||||
<div class="page-section">
|
||||
[% IF ( query_error ) %]
|
||||
<div class="dialog alert"><p><strong>Error:</strong> [% query_error | html %]</p></div>
|
||||
[% END %]
|
||||
|
||||
[% IF ( total ) %]
|
||||
<div class="pages">[% pagination_bar | $raw %]</div>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue