View | Details | Raw Unified | Return to bug 30301
Collapse All | Expand All

(-)a/admin/categories.pl (+3 lines)
Lines 79-84 if ( $op eq 'add_form' ) { Link Here
79
    my $noissuescharge                         = $input->param('noissuescharge')                         || undef;
79
    my $noissuescharge                         = $input->param('noissuescharge')                         || undef;
80
    my $noissueschargeguarantees               = $input->param('noissueschargeguarantees')               || undef;
80
    my $noissueschargeguarantees               = $input->param('noissueschargeguarantees')               || undef;
81
    my $noissueschargeguarantorswithguarantees = $input->param('noissueschargeguarantorswithguarantees') || undef;
81
    my $noissueschargeguarantorswithguarantees = $input->param('noissueschargeguarantorswithguarantees') || undef;
82
    my $enforce_expiry_notice                  = $input->param('enforce_expiry_notice');
82
83
83
    my @branches                               = grep { $_ ne q{} } $input->multi_param('branches');
84
    my @branches                               = grep { $_ ne q{} } $input->multi_param('branches');
84
    my $can_be_guarantee                       = $input->param('can_be_guarantee');
85
    my $can_be_guarantee                       = $input->param('can_be_guarantee');
Lines 120-125 if ( $op eq 'add_form' ) { Link Here
120
        $category->noissueschargeguarantees($noissueschargeguarantees);
121
        $category->noissueschargeguarantees($noissueschargeguarantees);
121
        $category->noissueschargeguarantorswithguarantees($noissueschargeguarantorswithguarantees);
122
        $category->noissueschargeguarantorswithguarantees($noissueschargeguarantorswithguarantees);
122
        $category->force_password_reset_when_set_by_staff($force_password_reset_when_set_by_staff);
123
        $category->force_password_reset_when_set_by_staff($force_password_reset_when_set_by_staff);
124
        $category->enforce_expiry_notice($enforce_expiry_notice);
123
        eval {
125
        eval {
124
            $category->store;
126
            $category->store;
125
            $category->replace_library_limits( \@branches );
127
            $category->replace_library_limits( \@branches );
Lines 157-162 if ( $op eq 'add_form' ) { Link Here
157
                noissuescharge                         => $noissuescharge,
159
                noissuescharge                         => $noissuescharge,
158
                noissueschargeguarantees               => $noissueschargeguarantees,
160
                noissueschargeguarantees               => $noissueschargeguarantees,
159
                noissueschargeguarantorswithguarantees => $noissueschargeguarantorswithguarantees,
161
                noissueschargeguarantorswithguarantees => $noissueschargeguarantorswithguarantees,
162
                enforce_expiry_notice                  => $enforce_expiry_notice,
160
                force_password_reset_when_set_by_staff => $force_password_reset_when_set_by_staff,
163
                force_password_reset_when_set_by_staff => $force_password_reset_when_set_by_staff,
161
            }
164
            }
162
        );
165
        );
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc (-9 / +22 lines)
Lines 22-27 Link Here
22
        [% FOREACH messaging_preference IN messaging_preferences %]
22
        [% FOREACH messaging_preference IN messaging_preferences %]
23
            [% NEXT IF !Koha.Preference( 'ILLModule' ) && messaging_preference.message_name.match('^Ill_') %]
23
            [% NEXT IF !Koha.Preference( 'ILLModule' ) && messaging_preference.message_name.match('^Ill_') %]
24
            [% NEXT IF !Koha.Preference('MembershipExpiryDaysNotice') && messaging_preference.Patron_Expiry %]
24
            [% NEXT IF !Koha.Preference('MembershipExpiryDaysNotice') && messaging_preference.Patron_Expiry %]
25
            [% NEXT IF messaging_preference.Patron_Expiry && (category.enforce_expiry_notice || patron.category.enforce_expiry_notice) %]
25
            [% NEXT IF messaging_preference.Auto_Renewals && Koha.Preference('AutoRenewalNotices') != 'preferences' %]
26
            [% NEXT IF messaging_preference.Auto_Renewals && Koha.Preference('AutoRenewalNotices') != 'preferences' %]
26
            [% NEXT IF !Koha.Preference('UseRecalls') && messaging_preference.message_name.match('^Recall_') %]
27
            [% NEXT IF !Koha.Preference('UseRecalls') && messaging_preference.message_name.match('^Recall_') %]
27
            <tr id="[% messaging_preference.message_name _ "_message" | lower | html %]">
28
            <tr id="[% messaging_preference.message_name _ "_message" | lower | html %]">
Lines 43-49 Link Here
43
                            <span>Item checkout</span>
44
                            <span>Item checkout</span>
44
                        [% END %]
45
                        [% END %]
45
                    [% ELSIF ( messaging_preference.Patron_Expiry ) %]
46
                    [% ELSIF ( messaging_preference.Patron_Expiry ) %]
46
                        <span>Patron account expiry</span>
47
                        <span>Patron expiry</span>
47
                    [% ELSIF ( messaging_preference.Ill_ready ) %]
48
                    [% ELSIF ( messaging_preference.Ill_ready ) %]
48
                        <span>Interlibrary loan ready</span>
49
                        <span>Interlibrary loan ready</span>
49
                    [% ELSIF ( messaging_preference.Ill_unavailable ) %]
50
                    [% ELSIF ( messaging_preference.Ill_unavailable ) %]
Lines 62-76 Link Here
62
                </td>
63
                </td>
63
                [% IF ( messaging_preference.takes_days ) %]
64
                [% IF ( messaging_preference.takes_days ) %]
64
                    <td>
65
                    <td>
65
                        <select name="[% messaging_preference.message_attribute_id | html %]-DAYS" [% IF messaging_form_inactive %]disabled="disabled"[% END %]>
66
                        [% IF ( messaging_form_inactive ) %]
66
                            [% FOREACH select_day IN messaging_preference.select_days %]
67
                            <select name="[% messaging_preference.message_attribute_id | html %]-DAYS" disabled="disabled">
67
                                [% IF ( select_day.selected ) %]
68
                                [% FOREACH select_day IN messaging_preference.select_days %]
68
                                    <option value="[% select_day.day | html %]" selected="selected">[% select_day.day | html %]</option>
69
                                    [% IF ( select_day.selected ) %]
69
                                [% ELSE %]
70
                                        <option value="[% select_day.day | html %]" selected="selected">[% select_day.day | html %]</option>
70
                                    <option value="[% select_day.day | html %]">[% select_day.day | html %]</option>
71
                                    [% ELSE %]
72
                                        <option value="[% select_day.day | html %]">[% select_day.day | html %]</option>
73
                                    [% END %]
71
                                [% END %]
74
                                [% END %]
72
                            [% END %]
75
                            </select>
73
                        </select>
76
                        [% ELSE %]
77
                            <select name="[% messaging_preference.message_attribute_id | html %]-DAYS">
78
                                [% FOREACH select_day IN messaging_preference.select_days %]
79
                                    [% IF ( select_day.selected ) %]
80
                                        <option value="[% select_day.day | html %]" selected="selected">[% select_day.day | html %]</option>
81
                                    [% ELSE %]
82
                                        <option value="[% select_day.day | html %]">[% select_day.day | html %]</option>
83
                                    [% END %]
84
                                [% END %]
85
                            </select>
86
                        [% END %]
74
                    </td>
87
                    </td>
75
                [% ELSE %]
88
                [% ELSE %]
76
                    <td>-</td>
89
                    <td>-</td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/categories.tt (+15 lines)
Lines 509-514 Link Here
509
                        [%- SET pref_NoIssuesChargeGuarantorsWithGuarantees_link = '<a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=NoIssuesChargeGuarantees&ok=Search">NoIssuesChargeGuarantees</a>' -%]
509
                        [%- SET pref_NoIssuesChargeGuarantorsWithGuarantees_link = '<a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=NoIssuesChargeGuarantees&ok=Search">NoIssuesChargeGuarantees</a>' -%]
510
                        <div class="hint">If set, this will override the global value set in the [%- pref_NoIssuesChargeGuarantorsWithGuarantees_link | $raw | $KohaSpan -%] preference.</div>
510
                        <div class="hint">If set, this will override the global value set in the [%- pref_NoIssuesChargeGuarantorsWithGuarantees_link | $raw | $KohaSpan -%] preference.</div>
511
                    </li>
511
                    </li>
512
                    <li>
513
                        <label for="enforce_expiry_notice">Enforce patron expiry notice:</label>
514
                        <select name="enforce_expiry_notice" id="enforce_expiry_notice">
515
                            [% IF category.enforce_expiry_notice %]
516
                                <option value="1" selected>Yes</option>
517
                                <option value="0">No</option>
518
                            [% ELSE %]
519
                                <option value="1">Yes</option>
520
                                <option value="0" selected>No</option>
521
                            [% END %]
522
                        </select>
523
                        <div class="hint">Make the expiry notice mandatory for all patrons in this category and prevent patrons from opting out in the messaging preferences</div>
524
                    </li>
512
                </ol>
525
                </ol>
513
            </fieldset>
526
            </fieldset>
514
527
Lines 657-662 Link Here
657
                            <th scope="col" data-colname="checkout_charge_limit">Checkout charge limit</th>
670
                            <th scope="col" data-colname="checkout_charge_limit">Checkout charge limit</th>
658
                            <th scope="col" data-colname="guarantees_checkout_charge_limit">Guarantees checkout charge limit</th>
671
                            <th scope="col" data-colname="guarantees_checkout_charge_limit">Guarantees checkout charge limit</th>
659
                            <th scope="col" data-colname="guarantors_checkout_charge_limit">Guarantors with guarantees checkout charge limit</th>
672
                            <th scope="col" data-colname="guarantors_checkout_charge_limit">Guarantors with guarantees checkout charge limit</th>
673
                            <th scope="col" data-colname="enforce_expiry_notice">Enforce patron expiry notice</th>
660
                            <th scope="col" class="no-export" data-colname="actions">Actions</th>
674
                            <th scope="col" class="no-export" data-colname="actions">Actions</th>
661
                        </tr>
675
                        </tr>
662
                    </thead>
676
                    </thead>
Lines 832-837 Link Here
832
                                [% ELSE %]
846
                                [% ELSE %]
833
                                    <td>[% 0.00 | $Price %]</td>
847
                                    <td>[% 0.00 | $Price %]</td>
834
                                [% END %]
848
                                [% END %]
849
                                <td>[% IF category.enforce_expiry_notice %]Yes[% ELSE %]No[% END %]</td>
835
                                <td class="actions">
850
                                <td class="actions">
836
                                    <a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/categories.pl?op=add_form&amp;categorycode=[% category.categorycode |uri %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
851
                                    <a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/categories.pl?op=add_form&amp;categorycode=[% category.categorycode |uri %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
837
                                    <a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/categories.pl?op=delete_confirm&amp;categorycode=[% category.categorycode |uri %]"><i class="fa fa-trash-can"></i> Delete</a>
852
                                    <a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/categories.pl?op=delete_confirm&amp;categorycode=[% category.categorycode |uri %]"><i class="fa fa-trash-can"></i> Delete</a>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt (+1 lines)
Lines 68-73 Link Here
68
                                        [% FOREACH messaging_preference IN messaging_preferences %]
68
                                        [% FOREACH messaging_preference IN messaging_preferences %]
69
                                            [% NEXT IF !Koha.Preference( 'ILLModule' ) && messaging_preference.message_name.match('^Ill_') %]
69
                                            [% NEXT IF !Koha.Preference( 'ILLModule' ) && messaging_preference.message_name.match('^Ill_') %]
70
                                            [% NEXT IF !Koha.Preference('MembershipExpiryDaysNotice') && messaging_preference.Patron_Expiry %]
70
                                            [% NEXT IF !Koha.Preference('MembershipExpiryDaysNotice') && messaging_preference.Patron_Expiry %]
71
                                            [% NEXT IF messaging_preference.Patron_Expiry && enforce_expiry_notice %]
71
                                            [% NEXT IF messaging_preference.Auto_Renewals && Koha.Preference('AutoRenewalNotices') != 'preferences' %]
72
                                            [% NEXT IF messaging_preference.Auto_Renewals && Koha.Preference('AutoRenewalNotices') != 'preferences' %]
72
                                            [% NEXT IF !Koha.Preference('UseRecalls') && messaging_preference.message_name.match('^Recall_') %]
73
                                            [% NEXT IF !Koha.Preference('UseRecalls') && messaging_preference.message_name.match('^Recall_') %]
73
                                            <tr id="[% messaging_preference.message_name _ "_message" | lower | html %]">
74
                                            <tr id="[% messaging_preference.message_name _ "_message" | lower | html %]">
(-)a/opac/opac-messaging.pl (-1 / +1 lines)
Lines 84-89 $template->param( Link Here
84
    SMSnumber             => $patron->smsalertnumber,                    # FIXME This is already sent 2 lines above
84
    SMSnumber             => $patron->smsalertnumber,                    # FIXME This is already sent 2 lines above
85
    SMSSendDriver         => C4::Context->preference("SMSSendDriver"),
85
    SMSSendDriver         => C4::Context->preference("SMSSendDriver"),
86
    TalkingTechItivaPhone => C4::Context->preference("TalkingTechItivaPhoneNotification"),
86
    TalkingTechItivaPhone => C4::Context->preference("TalkingTechItivaPhoneNotification"),
87
    enforce_expiry_notice => $patron->category->enforce_expiry_notice,
87
);
88
);
88
89
89
if ( $opac_messaging && C4::Context->preference("SMSSendDriver") eq 'Email' ) {
90
if ( $opac_messaging && C4::Context->preference("SMSSendDriver") eq 'Email' ) {
90
- 

Return to bug 30301