Koha/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc
Nick Clemens a37bee6647 Bug 28153: Add 'Hold reminder' messaging preference
This adds a new preference for patrons to choose how they wish to receive
'Hold reminder' notices.

The notice is always digested per branch

To test:
 1 - Apply patches
 2 - Update database
 3 - Ensure EnhancedMessagingPreferences and EnhancedMessagingPreferencesOPAC are enabled
 4 - View a patron and note new messaging preference
 5 - Confirm same on the opac for a patron account
 6 - All transports should be disabled by default
 7 - Place a hold for the patron and check it in to confirm
 8 - Run hold reminder script
    perl misc/cronjobs/holds_reminder.pl -v -c
 9 - No message should be queued for patron
10 - Enable the message in a transport for which 'HOLD_REMINDER' notice has content for the patron
11 - Run the script
12 - Patron should have a message queued
13 - Ensure a different transport has content for the notice
14 - Run the script forcing a transport
   perl misc/cronjobs/holds_reminder.pl -v -c -mtt=print
15 - The patron should have a message queued in the forced transport

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-10-18 11:28:41 +02:00

236 lines
12 KiB
HTML

[% USE Koha %]
<!-- snippet for form to set borrower and patron category messaging preferences -->
<input type="hidden" name="modify" value="yes" />
<input type="hidden" name="borrowernumber" value="[% borrowernumber | html %]" />
<table>
<tr><th></th>
<th>Days in advance</th>
[% IF Koha.Preference('SMSSendDriver') %]<th>SMS</th>[% END %]
[% IF Koha.Preference('TalkingTechItivaPhoneNotification') || Koha.Preference('PhoneNotification') %]<th>Phone</th>[% END %]
<th>Email</th>
<th>Digests only <i id="info_digests" data-toggle="tooltip" title="You can ask for a digest to reduce the number of messages. Messages will be saved and sent as a single message." data-placement="right" class="fa fa-info-circle"></i></th>
<!-- <th>RSS</th> -->
</tr>
[% FOREACH messaging_preference IN messaging_preferences %]
[% NEXT IF !Koha.Preference( 'ILLModule' ) && messaging_preference.message_name.match('^Ill_') %]
[% NEXT IF messaging_preference.Auto_Renewals && Koha.Preference('AutoRenewalNotices') != 'preferences' %]
<tr>
<td>[% IF ( messaging_preference.Item_Due ) %]Item due
[% ELSIF ( messaging_preference.Advance_Notice ) %]Advance notice
[% ELSIF ( messaging_preference.Hold_Filled ) %]Hold filled
[% ELSIF ( messaging_preference.Hold_Reminder ) %]Hold reminder
[% ELSIF ( messaging_preference.Item_Check_in ) %]Item check-in
[% ELSIF ( messaging_preference.Item_Checkout ) %]
[% IF Koha.Preference( 'RenewalSendNotice' ) %]
Item checkout and renewal
[% ELSE %]
Item checkout
[% END %]
[% ELSIF ( messaging_preference.Ill_ready ) %]Interlibrary loan ready
[% ELSIF ( messaging_preference.Ill_unavailable ) %]Interlibrary loan unavailable
[% ELSIF ( messaging_preference.Auto_Renewals ) %]Auto renewal
[% ELSE %]Unknown [% END %]</td>
[% IF ( messaging_preference.takes_days ) %]
<td>
[% IF ( messaging_form_inactive ) %]
<select name="[% messaging_preference.message_attribute_id | html %]-DAYS" disabled="disabled">
[% ELSE %]
<select name="[% messaging_preference.message_attribute_id | html %]-DAYS">
[% END %]
[% FOREACH select_day IN messaging_preference.select_days %]
[% IF ( select_day.selected ) %]<option value="[% select_day.day | html %]" selected="selected">[% select_day.day | html %]</option>[% ELSE %]
<option value="[% select_day.day | html %]">[% select_day.day | html %]</option>
[% END %]
[% END %]
</select>
</td>
[% ELSE %]
<td>-</td>
[% END %]
[% IF Koha.Preference('SMSSendDriver') %]
[% IF ( messaging_preference.transport_sms ) %]
<td>
[% IF ( messaging_form_inactive ) %]
[% 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" class="pmp_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" class="pmp_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="pmp_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="pmp_sms active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
[% END %]
[% END %]
</td>
[% ELSE %]
<td>-</td>
[% END %]
[% END %]
[% IF Koha.Preference('TalkingTechItivaPhoneNotification') %]
[% IF ( messaging_preference.transport_itiva ) %]
<td>
[% IF ( messaging_form_inactive ) %]
[% IF ( messaging_preference.transports_itiva ) %]
<input type="checkbox"
id="itiva[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="itiva" checked="checked" disabled="disabled" />
[% ELSE %]
<input type="checkbox"
id="itiva[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="itiva" disabled="disabled" />
[% END %]
[% ELSE %]
[% IF ( messaging_preference.transports_itiva ) %]
<input type="checkbox"
id="itiva[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="itiva" checked="checked" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
[% ELSE %]
<input type="checkbox"
id="itiva[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="itiva" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
[% END %]
[% END %]
</td>
[% ELSE %]
<td>-</td>
[% END %]
[% ELSIF Koha.Preference('PhoneNotification') %]
[% IF ( messaging_preference.transport_phone ) %]
<td>
[% IF ( messaging_form_inactive ) %]
[% IF ( messaging_preference.transports_phone ) %]
<input type="checkbox"
id="phone[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="phone" checked="checked" disabled="disabled" />
[% ELSE %]
<input type="checkbox"
id="phone[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="phone" disabled="disabled" />
[% END %]
[% ELSE %]
[% IF ( messaging_preference.transports_phone ) %]
<input type="checkbox"
id="phone[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="phone" checked="checked" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
[% ELSE %]
<input type="checkbox"
id="phone[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="phone" class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
[% END %]
[% END %]
</td>
[% ELSE %]
<td>-</td>
[% END %]
[% END %]
[% IF ( messaging_preference.transport_email ) %]
<td>
[% IF ( messaging_form_inactive ) %]
[% 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" class="pmp_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" class="pmp_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="pmp_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="pmp_email active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
[% END %]
[% END %]
</td>
[% ELSE %]
<td>-</td>
[% END %]
[% IF ( messaging_preference.has_digest ) %]
<td>
[% IF ( messaging_form_inactive ) %]
[% IF ( messaging_preference.digest ) %]
<input type="checkbox"
id="digest[% messaging_preference.message_attribute_id | html %]"
value="[% messaging_preference.message_attribute_id | html %]"
name="digest" class="pmp_digest" checked="checked" disabled="disabled" data-toggle="tooltip" title="You must select a digestible transport to select digests" />
[% ELSE %]
<input type="checkbox"
id="digest[% messaging_preference.message_attribute_id | html %]"
value="[% messaging_preference.message_attribute_id | html %]"
name="digest" class="pmp_digest" disabled="disabled" data-toggle="tooltip" title="You must select a digestible transport to select digests" />
[% 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="pmp_digest active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" data-toggle="tooltip" title="You must select a digestible transport to select digests" />
[% ELSE %]
<input type="checkbox"
id="digest[% messaging_preference.message_attribute_id | html %]"
value="[% messaging_preference.message_attribute_id | html %]"
name="digest" class="pmp_digest active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" data-toggle="tooltip" title="You must select a digestible transport to select digests" />
[% END %]
[% END %]
</td>
[% ELSE %]
<td>-</td>
[% END %]
<!-- [% IF ( messaging_preference.transport_rss ) %]
<td>
[% IF ( messaging_form_inactive ) %]
<input type="checkbox"
id="rss[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="rss" [% messaging_preference.transport_rss | html %] disabled="disabled" />
[% ELSE %]
<input type="checkbox"
id="rss[% messaging_preference.message_attribute_id | html %]"
name="[% messaging_preference.message_attribute_id | html %]"
value="rss" [% messaging_preference.transport_rss | html %] class="active_notify" data-attr-id="[% messaging_preference.message_attribute_id | html %]" />
[% END %]
</td>
[% ELSE %]
<td>-</td>
[% END %] -->
</tr>
[% END %]
</table>