From b1af14c15c7f1655cf040f7e4211ba07c763c733 Mon Sep 17 00:00:00 2001 From: Alex Arnaud Date: Wed, 17 Oct 2018 13:48:25 +0000 Subject: [PATCH] Bug 20388: Prevent user from using a search field for a mapping after removing it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test plan: - add a search field, - save, - remove this search field - check that it has been removed from the mapping lists (bottom select). Signed-off-by: Björn Nylén Signed-off-by: Julian Maurice --- .../admin/searchengine/elasticsearch/mappings.tt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 4b76d5c1cd..17b358c4ea 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 @@ -30,8 +30,17 @@ $("#tabs").tabs(); $('.delete').click(function() { $(this).parents('tr').remove(); - var line = $(this).closest("tr"); + + // We clicked delete button on search fields tab. + if (name = $(line).find('input[name="search_field_name"]').val()) { + // Prevent user from using a search field for a mapping + // after removing it without saving. + $('select[data-id="mapping_search_field_name"]').each(function( index, element) { + $(element).find('option[value="' + name + '"]').remove(); + }); + } + 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) { -- 2.20.1