From ab6f273beba9d880f4ba64040bed3f5658c879f3 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 Test plan: - add a search field, - save, - remove this search field - check that it has been removed from the mapping lists (bottom select). --- .../en/modules/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 deee2b7..29ddf24 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 @@ -29,8 +29,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.7.4