From a9b76c2254d1f5a1823fdf9f444fc70052ff3e7a Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 7 Sep 2023 17:13:46 +0000 Subject: [PATCH] Bug 34740: Update sort options in ES config to by Yes/No At some point the option for 'undef' was removed from te sort options and was collapsed to yes/no The dropdowns when adding a new field were missed, this patch corrects that. While undef in a mappings file wil stil load, when saving we should not privde undef any longer To test: 1 - Browse to bottom to add a new field on the 'Bibliographic records' tab in Administration > Search engine configuration (Elasticsearch) 2 - Set sortable column to undef, set other columns and provide a valid field 3 - Click '+Add' 4 - Click 'Save' 5 - At top of page you receive an error: An error occurred when updating mappings: DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::mysql::st execute failed: Column 'sort' cannot be null at /kohadevbox/koha/Koha/SearchField.pm line 37 . 6 - Apply patch, restart all 7 - Add a new mapping, your only choices are Yes/No 8 - Save mapping 9 - Confirm it saves correctly Signed-off-by: Salah Ghedda Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 5f6e1a1cf77dfc893de08b66840f2ea16abf1998) Signed-off-by: Fridolin Somers --- admin/searchengine/elasticsearch/mappings.pl | 2 +- .../en/modules/admin/searchengine/elasticsearch/mappings.tt | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/admin/searchengine/elasticsearch/mappings.pl b/admin/searchengine/elasticsearch/mappings.pl index e4d5ab10ea..10302624d3 100755 --- a/admin/searchengine/elasticsearch/mappings.pl +++ b/admin/searchengine/elasticsearch/mappings.pl @@ -151,7 +151,7 @@ if ( $op eq 'edit' ) { my $mapping_facet = $mapping_facet[$i]; $mapping_facet = ( grep { $_ eq $search_field_name } @facetable_field_names ) ? $mapping_facet : 0; my $mapping_suggestible = $mapping_suggestible[$i]; - my $mapping_sort = $mapping_sort[$i] eq 'undef' ? undef : $mapping_sort[$i]; + my $mapping_sort = $mapping_sort[$i]; my $mapping_search = $mapping_search[$i]; my $search_field = Koha::SearchFields->find({ name => $search_field_name }, { key => 'name' }); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/searchengine/elasticsearch/mappings.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/searchengine/elasticsearch/mappings.tt index adecb5af10..7e6c06e408 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/searchengine/elasticsearch/mappings.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/searchengine/elasticsearch/mappings.tt @@ -379,9 +379,8 @@ a.add, a.delete { -- 2.39.5