Bug 13613: Don't allow digest to be selected without a digest-able transport selected
By default, only the email transport is enabled. This gives the messaging preferences the look of having email and digest and two options. I.E. to some users it appears that you check email for single emails, *or* you check digest for a digest email. To help remove this possible confusion, the digest mode checkbox should be disabled if no digest-able transports are checked for a given notice. Test Plan: 1) Apply this patch 2) For both the staff interface and the opac, note that the digest checkbox is disabled any time that no digest enabled transport ( email, sms if enabled ) is checked for the patron editor. Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
2da36e3f17
commit
e95ffe8da3
|
|
@ -56,24 +56,24 @@
|
|||
<input type="checkbox"
|
||||
id="sms[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="sms" checked="checked" disabled="disabled" />
|
||||
value="sms" class="sms" checked="checked" disabled="disabled" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox"
|
||||
id="sms[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="sms" disabled="disabled" />
|
||||
value="sms" class="sms" disabled="disabled" />
|
||||
[% END %]
|
||||
[% ELSE %]
|
||||
[% IF ( messaging_preference.transports_sms ) %]
|
||||
<input type="checkbox"
|
||||
id="sms[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="sms" checked="checked" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
value="sms" checked="checked" class="sms active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox"
|
||||
id="sms[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="sms" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
value="sms" class="sms active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
[% END %]
|
||||
[% END %]
|
||||
</td>
|
||||
|
|
@ -155,24 +155,24 @@
|
|||
<input type="checkbox"
|
||||
id="email[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="email" checked="checked" disabled="disabled" />
|
||||
value="email" class="email" checked="checked" disabled="disabled" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox"
|
||||
id="email[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="email" disabled="disabled" />
|
||||
value="email" class="email" disabled="disabled" />
|
||||
[% END %]
|
||||
[% ELSE %]
|
||||
[% IF ( messaging_preference.transports_email ) %]
|
||||
<input type="checkbox"
|
||||
id="email[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="email" checked="checked" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
value="email" checked="checked" class="email active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox"
|
||||
id="email[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="email" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
value="email" class="email active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
[% END %]
|
||||
[% END %]
|
||||
</td>
|
||||
|
|
@ -187,24 +187,24 @@
|
|||
<input type="checkbox"
|
||||
id="digest[% messaging_preference.message_attribute_id | html %]"
|
||||
value="[% messaging_preference.message_attribute_id | html %]"
|
||||
name="digest" checked="checked" disabled="disabled" />
|
||||
name="digest" class="digest" checked="checked" disabled="disabled" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox"
|
||||
id="digest[% messaging_preference.message_attribute_id | html %]"
|
||||
value="[% messaging_preference.message_attribute_id | html %]"
|
||||
name="digest" disabled="disabled" />
|
||||
name="digest" class="digest" disabled="disabled" />
|
||||
[% END %]
|
||||
[% ELSE %]
|
||||
[% IF ( messaging_preference.digest ) %]
|
||||
<input type="checkbox"
|
||||
id="digest[% messaging_preference.message_attribute_id | html %]"
|
||||
value="[% messaging_preference.message_attribute_id | html %]"
|
||||
name="digest" checked="checked" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
name="digest" checked="checked" class="digest active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox"
|
||||
id="digest[% messaging_preference.message_attribute_id | html %]"
|
||||
value="[% messaging_preference.message_attribute_id | html %]"
|
||||
name="digest" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
name="digest" class="digest active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
|
||||
[% END %]
|
||||
[% END %]
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -89,9 +89,9 @@
|
|||
[% IF ( messaging_preference.transport_sms ) %]
|
||||
<td class="selectcol">
|
||||
[% IF ( messaging_preference.transports_sms ) %]
|
||||
<input type="checkbox" id="sms[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="sms" checked="checked" />
|
||||
<input type="checkbox" class="sms" id="sms[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="sms" checked="checked" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox" id="sms[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="sms" />
|
||||
<input type="checkbox" class="sms" id="sms[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="sms" />
|
||||
[% END %]
|
||||
</td>
|
||||
[% ELSE %]
|
||||
|
|
@ -103,11 +103,13 @@
|
|||
<td class="selectcol">
|
||||
[% IF ( messaging_preference.transports_phone ) %]
|
||||
<input type="checkbox"
|
||||
class="phone"
|
||||
id="phone[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="phone" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox"
|
||||
class="phone"
|
||||
id="phone[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="phone" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
|
||||
|
|
@ -122,11 +124,13 @@
|
|||
<td class="selectcol">
|
||||
[% IF ( messaging_preference.transports_itiva ) %]
|
||||
<input type="checkbox"
|
||||
class="itiva"
|
||||
id="itiva[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="itiva" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox"
|
||||
class="itiva"
|
||||
id="itiva[% messaging_preference.message_attribute_id | html %]"
|
||||
name="[% messaging_preference.message_attribute_id | html %]"
|
||||
value="itiva" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
|
||||
|
|
@ -140,9 +144,9 @@
|
|||
[% IF ( messaging_preference.transport_email ) %]
|
||||
<td class="selectcol">
|
||||
[% IF ( messaging_preference.transports_email ) %]
|
||||
<input type="checkbox" id="email[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="email" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
|
||||
<input type="checkbox" class="email" id="email[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="email" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
|
||||
[% ELSE %]
|
||||
<input type="checkbox" id="email[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="email" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
|
||||
<input type="checkbox" class="email" id="email[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="email" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
|
||||
[% END %]
|
||||
</td>
|
||||
[% 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){
|
||||
|
|
|
|||
Loading…
Reference in New Issue