From 75bf8e86ed7746af24da67cd8b94716e38fdccc1 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. --- .../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 52bcb7c..b95e263 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 3cf8791..779fe18 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 bc3abf2..bd30170 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 32418b5..af011f9 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.1.4