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 |
- |
|
|