From ddd99e45342ed07b04418d681978d5f5acd2537b Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Fri, 12 Oct 2018 15:46:43 +0000 Subject: [PATCH] Bug 20689: (follow-up) Make it possible to add capital letter subfields to item search fields This patch adds some custom validation to the MARC tag and subfield fields so that they are limited to alphanumeric characters. Both templates (the main view and the edit view) have been modified so that item_search_fields.js can be included in both. To test, apply the patch and test the form by entering a variety of different character combinations. The "MARC field" and "MARC subfield" inputs should only accept alphanumeric entries. Test both "new" and "edit" operations. Test other operations like delete and cancel. Signed-off-by: Mark Tompsett Signed-off-by: Jose-Mario Signed-off-by: Chris Cormack --- .../en/includes/admin-items-search-field-form.inc | 8 ++--- .../prog/en/modules/admin/items_search_field.tt | 3 +- .../prog/en/modules/admin/items_search_fields.tt | 4 +-- .../intranet-tmpl/prog/js/item_search_fields.js | 37 ++++++++++++++++++++-- 4 files changed, 43 insertions(+), 9 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/admin-items-search-field-form.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/admin-items-search-field-form.inc index 7232766b1a..b95e263d91 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/admin-items-search-field-form.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/admin-items-search-field-form.inc @@ -23,18 +23,18 @@
  • [% IF field && field.tagfield == tagfield %] - + [% ELSE %] - + [% END %] Required
  • [% IF field && field.tagsubfield == tagsubfield %] - + [% ELSE %] - + [% END %]
  • diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/items_search_field.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/items_search_field.tt index 3cf8791b21..779fe18e81 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/items_search_field.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/items_search_field.tt @@ -23,7 +23,7 @@

    Item search field: [% field.label | html %]

    -
    +
    Edit field [% INCLUDE 'admin-items-search-field-form.inc' field=field %] @@ -49,6 +49,7 @@ [% MACRO jsinclude BLOCK %] [% Asset.js("js/admin-menu.js") | $raw %] + [% Asset.js("js/item_search_fields.js") | $raw %] [% END %] [% INCLUDE 'intranet-bottom.inc' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/items_search_fields.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/items_search_fields.tt index dfc0d4f118..2a014ab4ca 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/items_search_fields.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/items_search_fields.tt @@ -91,7 +91,7 @@ [% END %] - +
    Add a new field [% INCLUDE 'admin-items-search-field-form.inc' field=undef %] @@ -99,7 +99,7 @@
    - Cancel + Cancel
    diff --git a/koha-tmpl/intranet-tmpl/prog/js/item_search_fields.js b/koha-tmpl/intranet-tmpl/prog/js/item_search_fields.js index 32418b5d29..2901d7d77e 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/item_search_fields.js +++ b/koha-tmpl/intranet-tmpl/prog/js/item_search_fields.js @@ -1,3 +1,9 @@ +/* global _ MSG_ITEM_SEARCH_DELETE_CONFIRM */ + +jQuery.validator.addMethod("marcfield", function(value, element) { + return this.optional(element) || /^[0-9a-zA-Z]+$/.test(value); +}, _("Please enter letters or numbers") ); + $(document).ready(function(){ $("#add_field_form").hide(); $("#new_search_field").on("click",function(e){ @@ -6,7 +12,7 @@ $(document).ready(function(){ $(".dialog").hide(); $("#search_fields_list,#toolbar").hide(); }); - $(".cancel").on("click",function(e){ + $(".hide_form").on("click",function(e){ e.preventDefault(); $("#add_field_form").hide(); $(".dialog").show(); @@ -21,4 +27,31 @@ $(document).ready(function(){ return false; } }); -}); \ No newline at end of file + + $("#add_field_form").validate({ + rules: { + label: "required", + tagfield: { + required: true, + marcfield: true + }, + tagsubfield: { + marcfield: true + } + } + }); + + $("#edit_search_fields").validate({ + rules: { + label: "required", + tagfield: { + required: true, + marcfield: true + }, + tagsubfield: { + marcfield: true + } + } + }); + +}); -- 2.11.0