Bug 20484: Implement blocking_errors for ES config page
authorNick Clemens <nick@bywatersolutions.com>
Tue, 21 Apr 2020 10:54:56 +0000 (10:54 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Tue, 21 Apr 2020 11:09:08 +0000 (12:09 +0100)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

admin/searchengine/elasticsearch/mappings.pl
koha-tmpl/intranet-tmpl/prog/en/includes/blocking_errors.inc
koha-tmpl/intranet-tmpl/prog/en/modules/admin/searchengine/elasticsearch/mappings.tt

index 0ed7aa2..202c0fe 100755 (executable)
@@ -24,12 +24,13 @@ use C4::Output;
 use C4::Auth;
 
 use Koha::SearchEngine::Elasticsearch;
-use Koha::SearchEngine::Elasticsearch::Indexer;
 use Koha::SearchMarcMaps;
 use Koha::SearchFields;
 use Koha::Caches;
 
 use Try::Tiny;
+use Module::Load::Conditional qw(can_load);
+
 
 my $input = new CGI;
 my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
@@ -41,6 +42,11 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
     }
 );
 
+unless ( can_load( modules => { 'Koha::SearchEngine::Elasticsearch::Indexer' => undef } ) ) {
+    output_and_exit( $input, $cookie, $template, 'missing_es_modules');
+}
+
+
 my $index = $input->param('index') || 'biblios';
 my $op    = $input->param('op')    || 'list';
 my @messages;
index 510d95f..146264a 100644 (file)
@@ -17,6 +17,8 @@
         <div class="dialog message">The form submission failed (Wrong CSRF token). Try to come back, refresh the page, then try again.</div>
     [% CASE 'budget_is_locked' %]
         <div class="dialog message">The budget is locked, fund creation is not possible.</div>
+    [% CASE 'missing_es_modules' %]
+        <div class="dialog message">Necessary Elasticsearch packages are not installed on your server. Please contact your server admin if you wish to configure Elasticsearch</div>
     [% CASE %][% blocking_error | html %]
     [% END %]
 
index 92043e0..4c9c586 100644 (file)
@@ -70,6 +70,8 @@ a.add, a.delete {
 
 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; Search engine configuration (Elasticsearch)</div>
 
+[% INCLUDE 'blocking_errors.inc' %]
+
 <div class="main container-fluid">
     <div class="row">
         <div class="col-sm-10 col-sm-push-2">