View | Details | Raw Unified | Return to bug 29436
Collapse All | Expand All

(-)a/admin/searchengine/elasticsearch/mappings.pl (-9 / +9 lines)
Lines 50-56 unless ( can_load( modules => { 'Koha::SearchEngine::Elasticsearch::Indexer' => Link Here
50
50
51
my $index = $input->param('index') || 'biblios';
51
my $index = $input->param('index') || 'biblios';
52
my $op    = $input->param('op')    || 'list';
52
my $op    = $input->param('op')    || 'list';
53
my @messages;
53
my ( @messages, @errors );
54
push @messages, { type => 'message', code => 'elasticsearch_disabled' }
54
push @messages, { type => 'message', code => 'elasticsearch_disabled' }
55
  if ( C4::Context->preference('SearchEngine') ne 'Elasticsearch' );
55
  if ( C4::Context->preference('SearchEngine') ne 'Elasticsearch' );
56
56
Lines 68-74 my $update_mappings = sub { Link Here
68
            $indexer->update_mappings();
68
            $indexer->update_mappings();
69
        } catch {
69
        } catch {
70
            my $conf = $indexer->get_elasticsearch_params();
70
            my $conf = $indexer->get_elasticsearch_params();
71
            push @messages, {
71
            push @errors, {
72
                type => 'error',
72
                type => 'error',
73
                code => 'error_on_update_es_mappings',
73
                code => 'error_on_update_es_mappings',
74
                message => $_[0],
74
                message => $_[0],
Lines 124-130 if ( $op eq 'edit' ) { Link Here
124
                $search_field->weight(undef);
124
                $search_field->weight(undef);
125
            }
125
            }
126
            elsif ($field_weight <= 0 || !looks_like_number($field_weight)) {
126
            elsif ($field_weight <= 0 || !looks_like_number($field_weight)) {
127
                push @messages, { type => 'error', code => 'invalid_field_weight', 'weight' => $field_weight };
127
                push @errors, { type => 'error', code => 'invalid_field_weight', 'weight' => $field_weight };
128
            }
128
            }
129
            else {
129
            else {
130
                $search_field->weight($field_weight);
130
                $search_field->weight($field_weight);
Lines 170-179 if ( $op eq 'edit' ) { Link Here
170
                search => $mapping_search
170
                search => $mapping_search
171
            });
171
            });
172
        }
172
        }
173
        push @messages, { type => 'error', code => 'missing_mandatory_fields' } if $mandatory_after < $mandatory_before;
173
        push @errors, { type => 'error', code => 'missing_mandatory_fields' } if $mandatory_after < $mandatory_before;
174
    };
174
    };
175
    if ($@ || @messages) {
175
    if ($@ || @errors) {
176
        push @messages, { type => 'error', code => 'error_on_update', message => $@, };
176
        push @errors, { type => 'error', code => 'error_on_update', message => $@, }; # FIXME $@ can be empty but @errors
177
        $schema->storage->txn_rollback;
177
        $schema->storage->txn_rollback;
178
    } else {
178
    } else {
179
        push @messages, { type => 'message', code => 'success_on_update' };
179
        push @messages, { type => 'message', code => 'success_on_update' };
Lines 203-216 for my $index_name (@index_names) { Link Here
203
    if (!$indexer->is_index_status_ok) {
203
    if (!$indexer->is_index_status_ok) {
204
        my $conf = $indexer->get_elasticsearch_params();
204
        my $conf = $indexer->get_elasticsearch_params();
205
        if ($indexer->is_index_status_reindex_required) {
205
        if ($indexer->is_index_status_reindex_required) {
206
            push @messages, {
206
            push @errors, {
207
                type => 'error',
207
                type => 'error',
208
                code => 'reindex_required',
208
                code => 'reindex_required',
209
                index => $conf->{index_name},
209
                index => $conf->{index_name},
210
            };
210
            };
211
        }
211
        }
212
        elsif($indexer->is_index_status_recreate_required) {
212
        elsif($indexer->is_index_status_recreate_required) {
213
            push @messages, {
213
            push @errors, {
214
                type => 'error',
214
                type => 'error',
215
                code => 'recreate_required',
215
                code => 'recreate_required',
216
                index => $conf->{index_name},
216
                index => $conf->{index_name},
Lines 277-282 while ( my $search_field = $search_fields->next ) { Link Here
277
    push @all_search_fields, $search_field_unblessed;
277
    push @all_search_fields, $search_field_unblessed;
278
}
278
}
279
279
280
push @messages, @errors;
280
$template->param(
281
$template->param(
281
    indexes           => \@indexes,
282
    indexes           => \@indexes,
282
    all_search_fields => \@all_search_fields,
283
    all_search_fields => \@all_search_fields,
283
- 

Return to bug 29436