@@ -, +, @@
information
- opacuserlogin
- EnhancedMessagingPreferences
- EnhancedMessagingPreferencesOPAC
- SMSSendDriver
---- GENERAL ----
---- PREREQUISITES ----
---- OPAC ----
"Cannot select SMS notifications"
preferences table.
and observe the SMS checkboxes are now clickable.
in the messaging preferences table are clickable.
---- INTRANET ----
"Modify patron" view.
---
C4/Form/MessagingPreferences.pm | 20 ++++++++++++++++++-
.../en/includes/messaging-preference-form.inc | 8 ++++----
.../prog/en/modules/members/memberentrygen.tt | 12 +++++++++++
.../bootstrap/en/modules/opac-messaging.tt | 20 +++++++++++++++----
4 files changed, 51 insertions(+), 9 deletions(-)
--- a/C4/Form/MessagingPreferences.pm
+++ a/C4/Form/MessagingPreferences.pm
@@ -142,6 +142,11 @@ sub set_form_values {
my ($target_params, $template) = @_;
# walk through the options and update them with these borrower_preferences
my $messaging_options = Koha::Patron::Message::Preferences->get_options;
+ my $patron;
+ if ($target_params->{borrowernumber}) {
+ $patron = Koha::Patrons->find($target_params->{borrowernumber});
+ }
+
PREF: foreach my $option ( @$messaging_options ) {
my $pref = Koha::Patron::Message::Preferences->find( { %{ $target_params }, message_attribute_id => $option->{'message_attribute_id'} } );
$option->{ $option->{'message_name'} } = 1;
@@ -154,9 +159,22 @@ sub set_form_values {
selected => $_ == $days_in_advance }
} ( 0..MAX_DAYS_IN_ADVANCE );
}
+
+ if ($patron && $option->{'transport_email'} and !$patron->email) {
+ $option->{'transports_email'} = 0;
+ $option->{'transports_email_disabled'} = 1;
+ }
+ if ($patron && $option->{'transport_sms'} and !$patron->smsalertnumber) {
+ $option->{'transports_sms'} = 0;
+ $option->{'transports_sms_disabled'} = 1;
+ }
+
next unless $pref;
foreach my $transport ( keys %{$pref->message_transport_types} ) {
- $option->{'transports_'.$transport} = 1;
+ if (!$option->{'transports_'.$transport.'_disabled'}) {
+ $option->{'transports_'.$transport.'_disabled'} = 0;
+ $option->{'transports_'.$transport} = 1;
+ }
}
$option->{'digest'} = 1 if $pref->wants_digest;
}
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc
+++ a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc
@@ -60,7 +60,7 @@
value="sms" disabled="disabled" />
[% END %]
[% ELSE %]
- [% IF ( messaging_preference.transports_sms ) %]
+ [% IF ( messaging_preference.transports_sms and !messaging_preference.transports_sms_disabled ) %]
+ value="sms" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]"[% IF messaging_preference.transports_sms_disabled %] disabled="disabled"[% END %] />
[% END %]
[% END %]
@@ -159,7 +159,7 @@
value="email" disabled="disabled" />
[% END %]
[% ELSE %]
- [% IF ( messaging_preference.transports_email ) %]
+ [% IF ( messaging_preference.transports_email and !messaging_preference.transports_email_disabled ) %]
+ value="email" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]"[% IF messaging_preference.transports_email_disabled %] disabled="disabled"[% END %] />
[% END %]
[% END %]
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
@@ -1410,6 +1410,18 @@ legend:hover {
Loading new messaging defaults
+ [% IF patron && !patron.email %]
+
+
Patron is missing email address
+
Because of this you will be unable to select email messaging preferences. Please modify patron and set primary email address.
+
+ [% END %]
+ [% IF patron && SMSSendDriver and !SMSnumber %]
+
+
Patron is missing SMS number
+
Because of this you will be unable to select SMS messaging preferences. Please provide patron's SMS number first.
+
+ [% END %]
[% INCLUDE 'messaging-preference-form.inc' %]
[% IF ( SMSSendDriver ) %]
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt
@@ -34,6 +34,18 @@
[% IF Koha.Preference( 'EnhancedMessagingPreferencesOPAC' ) %]
Your messaging settings
+ [% IF !logged_in_user.email %]
+
+
Cannot select email notifications
+
Your email address is missing. We cannot send you emails before you provide your email address. Please go to your personal details to set primary email address.
+
+ [% END %]
+ [% IF SMSSendDriver and !SMSnumber %]
+
+
Cannot select SMS notifications
+
Your SMS number is missing. We cannot send you SMS messages before you provide your SMS number. Please see the bottom of this page to set SMS number.
+
+ [% END %]
[% IF ( settings_updated ) %]
Settings updated
[% END %]
@@ -84,10 +96,10 @@
[% IF ( SMSSendDriver ) %]
[% IF ( messaging_preference.transport_sms ) %]
- [% IF ( messaging_preference.transports_sms ) %]
+ [% IF ( messaging_preference.transports_sms and !messaging_preference.transports_sms_disabled ) %]
[% ELSE %]
-
+
[% END %]