From 251abf6e9861e09db148d5c9767751492ecb8b27 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Mon, 12 Nov 2018 17:35:25 +0000 Subject: [PATCH] Bug 21813: In-page JavaScript causes error on patron entry page This patch removes a block of JavaScript from memberentrygen.tt which was being included in the page before jQuery is loaded. This causes a JavaScript error. To test, apply the patch and clear your browser cache if necessary. - In Administration -> Patron categories, confirm that you have two patron categories with different default messaging preferences defined. - Go to Patrons -> New patron - Create a new patron using one of the categories with messaging preferences. - Confirm that when you switch the category selection to the other patron category, the patron messaging preference checkboxes are changed to the default for that category. - Manually change one or more patron messaging preference checkboxes. - Switch the patron category again and confirm that you are prompted to confirm resetting the preferences to the default for that category. - Perform the same set of tests when editing a patron. - Confirm that there are no other JavaScript errors in the console. - Test again with EnhancedMessagingPreferences disabled. --- .../prog/en/modules/members/memberentrygen.tt | 46 ---------------------- .../prog/js/messaging-preference-form.js | 37 +++++++++++++++++ 2 files changed, 37 insertions(+), 46 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt index 143af0a..d9df7e8 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -1083,52 +1083,6 @@ [% IF ( step_5 ) %][% IF ( EnhancedMessagingPreferences ) %]
Patron messaging preferences - [% IF ( opadd ) %] - - - [% END %] [% INCLUDE 'messaging-preference-form.inc' %] [% IF ( SMSSendDriver ) %] diff --git a/koha-tmpl/intranet-tmpl/prog/js/messaging-preference-form.js b/koha-tmpl/intranet-tmpl/prog/js/messaging-preference-form.js index 67a580b..7df1820 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/messaging-preference-form.js +++ b/koha-tmpl/intranet-tmpl/prog/js/messaging-preference-form.js @@ -17,4 +17,41 @@ $(document).ready(function(){ } }); $("#info_digests").tooltip(); + + var message_prefs_dirty = false; + $('#memberentry_messaging_prefs > *').change(function() { + message_prefs_dirty = true; + }); + $('#categorycode_entry').change(function() { + var categorycode = $(this).val(); + if (message_prefs_dirty) { + if (!confirm(_("Change messaging preferences to default for this category?"))) { + return; + } + } + $.getJSON('/cgi-bin/koha/members/default_messageprefs.pl?categorycode=' + categorycode, + function(data) { + $.each(data.messaging_preferences, function(i, item) { + var attrid = item.message_attribute_id; + var transports = ['email', 'rss', 'sms']; + $.each(transports, function(j, transport) { + if (item['transports_' + transport] == 1) { + $('#' + transport + attrid).prop('checked', true); + } else { + $('#' + transport + attrid).prop('checked', false); + } + }); + if (item.digest && item.digest != ' ') { + $('#digest' + attrid).prop('checked', true); + } else { + $('#digest' + attrid).prop('checked', false); + } + if (item.takes_days == '1') { + $('[name=' + attrid + '-DAYS]').val('' + item.days_in_advance); + } + }); + message_prefs_dirty = false; + } + ); + }); }); -- 2.1.4