@@ -, +, @@ digest-able transport selected is disabled any time that no digest enabled transport ( email, sms if enabled ) is checked for the patron editor. --- .../prog/en/includes/messaging-preference-form.inc | 24 ++++++------ .../prog/js/messaging-preference-form.js | 31 ++++++++++++++++ .../bootstrap/en/modules/opac-messaging.tt | 43 ++++++++++++++++++++-- 3 files changed, 82 insertions(+), 16 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc @@ -56,24 +56,24 @@ + value="sms" class="sms" checked="checked" disabled="disabled" /> [% ELSE %] + value="sms" class="sms" disabled="disabled" /> [% END %] [% ELSE %] [% IF ( messaging_preference.transports_sms ) %] + value="sms" checked="checked" class="sms active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" /> [% ELSE %] + value="sms" class="sms active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" /> [% END %] [% END %] @@ -155,24 +155,24 @@ + value="email" class="email" checked="checked" disabled="disabled" /> [% ELSE %] + value="email" class="email" disabled="disabled" /> [% END %] [% ELSE %] [% IF ( messaging_preference.transports_email ) %] + value="email" checked="checked" class="email active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" /> [% ELSE %] + value="email" class="email active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" /> [% END %] [% END %] @@ -187,24 +187,24 @@ + name="digest" class="digest" checked="checked" disabled="disabled" /> [% ELSE %] + name="digest" class="digest" disabled="disabled" /> [% END %] [% ELSE %] [% IF ( messaging_preference.digest ) %] + name="digest" checked="checked" class="digest active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" /> [% ELSE %] + name="digest" class="digest active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" /> [% END %] [% END %] --- a/koha-tmpl/intranet-tmpl/prog/js/messaging-preference-form.js +++ a/koha-tmpl/intranet-tmpl/prog/js/messaging-preference-form.js @@ -47,4 +47,35 @@ $(document).ready(function(){ }); }); } + + // At load time, we want digest disabled if no digest using transport is enabled + $("#memberentry_messaging_prefs .email").each(function(){ + var rowid = $(this).attr("id"); + id = Number(rowid.replace("email","")); + if ( $("#email"+id).prop("checked") || $("#sms"+id).prop("checked") ) { + $("#digest"+id).attr("disabled", false); + } else { + $("#digest"+id).attr("disabled", true).prop("checked",false); + } + }); + + // If user clears all digest using transports for a notice, disable digest checkbox + $(".email").click(function(){ + var rowid = $(this).attr("id"); + id = Number(rowid.replace("email","")); + if ( $("#email"+id).prop("checked") || $("#sms"+id).prop("checked") ) { + $("#digest"+id).attr("disabled", false); + } else { + $("#digest"+id).attr("disabled", true); + } + }); + $(".sms").click(function(){ + var rowid = $(this).attr("id"); + id = Number(rowid.replace("sms","")); + if ( $("#email"+id).prop("checked") || $("#sms"+id).prop("checked") ) { + $("#digest"+id).attr("disabled", false); + } else { + $("#digest"+id).attr("disabled", true).prop("checked",false); + } + }); }); --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt +++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt @@ -89,9 +89,9 @@ [% IF ( messaging_preference.transport_sms ) %] [% IF ( messaging_preference.transports_sms ) %] - + [% ELSE %] - + [% END %] [% ELSE %] @@ -103,11 +103,13 @@ [% IF ( messaging_preference.transports_phone ) %] [% ELSE %] @@ -122,11 +124,13 @@ [% IF ( messaging_preference.transports_itiva ) %] [% ELSE %] @@ -140,9 +144,9 @@ [% IF ( messaging_preference.transport_email ) %] [% IF ( messaging_preference.transports_email ) %] - + [% ELSE %] - + [% END %] [% ELSE %] @@ -255,6 +259,37 @@ } }); $("#info_digests").tooltip(); + + // At load time, we want digest disabled if no digest using transport is enabled + $(".email").each(function(){ + var rowid = $(this).attr("id"); + id = Number(rowid.replace("email","")); + if ( $("#email"+id).prop("checked") || $("#sms"+id).prop("checked") ) { + $("#digest"+id).attr("disabled", false); + } else { + $("#digest"+id).attr("disabled", true); + } + }); + + // If user clears all digest using transports for a notice, disable digest checkbox + $(".email").click(function(){ + var rowid = $(this).attr("id"); + id = Number(rowid.replace("email","")); + if ( $("#email"+id).prop("checked") || $("#sms"+id).prop("checked") ) { + $("#digest"+id).attr("disabled", false); + } else { + $("#digest"+id).attr("disabled", true).prop("checked",false); + } + }); + $(".sms").click(function(){ + var rowid = $(this).attr("id"); + id = Number(rowid.replace("sms","")); + if ( $("#email"+id).prop("checked") || $("#sms"+id).prop("checked") ) { + $("#digest"+id).attr("disabled", false); + } else { + $("#digest"+id).attr("disabled", true).prop("checked",false); + } + }); }); function normalizeSMS(value){ --