From 4edd0669d3e648c446515df478acfb9083daaca8 Mon Sep 17 00:00:00 2001 From: Alex Arnaud Date: Wed, 4 Apr 2018 13:05:39 +0000 Subject: [PATCH] Bug 20388 - Keep data consistency when adding/removing mapping Test plan: - create a new search field, save, - create a mapping using it (don't save), - check that you can't delete the search field. - delete all the mapping related to a search field (biblios and authorities), don't save, - check that you can delete this search field. Signed-off-by: Nicolas Legrand --- .../en/modules/admin/searchengine/elasticsearch/mappings.tt | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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 74da23b..5ae1435 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 @@ -27,6 +27,14 @@ $("#tabs").tabs(); $('.delete').click(function() { $(this).parents('tr').remove(); + + var line = $(this).closest("tr"); + var search_field_name = $(line).find('input[name="mapping_search_field_name"]').val(); + var mappings = $('input[name="mapping_search_field_name"][type="hidden"][value="' + search_field_name + '"]'); + if (mappings.length == 0) { + var search_field_line = $('input[name="search_field_name"][value="' + search_field_name + '"]').closest("tr"); + $(search_field_line).find('a.btn-default').removeClass('disabled'); + } }); $("table.mappings").tableDnD( { @@ -43,6 +51,11 @@ $('.delete').click(function() { $(this).parents('tr').remove(); }); + + var search_field_name = $(line).find('select[data-id="mapping_search_field_name"] option:selected').text(); + var search_field_line = $('input[name="search_field_name"][value="' + search_field_name + '"]').closest("tr"); + $(search_field_line).find('a.btn-default').addClass('disabled'); + clean_line(line); $(table).tableDnD( { -- 2.1.4