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

(-)a/installer/data/mysql/atomicupdate/bug_30515-add_system_preferences.pl (+16 lines)
Line 0 Link Here
1
use Modern::Perl;
2
3
return {
4
    bug_number => "30515",
5
    description => "Add system preferences for patron specific overdue notice preferences",
6
    up => sub {
7
        my ($args) = @_;
8
        my ($dbh, $out) = @$args{qw(dbh out)};
9
10
        $dbh->do(q{INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES ('UsePatronPreferencesForOverdueNotices', '0', NULL, 'Use patron specific messaging preferences for overdue notices if available', 'YesNo')});
11
        say $out "UsePatronPreferencesForOverdueNotices system preference added";
12
13
        $dbh->do(q{INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES ('UsePatronPreferencesForOverdueNoticesPrint', 'always', 'always|fallback|never', 'When to send print notices when using patron specific messaging preferences for overdue notices', 'Choice')});
14
        say $out "UsePatronPreferencesForOverdueNoticesPrint system preference added";
15
    },
16
}
(-)a/installer/data/mysql/mandatory/sysprefs.sql (+2 lines)
Lines 819-824 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
819
('UseICUStyleQuotes','0','1','Tell Koha whether to use ICU style quotes ({) or default (") when tracing subjects .','YesNo'),
819
('UseICUStyleQuotes','0','1','Tell Koha whether to use ICU style quotes ({) or default (") when tracing subjects .','YesNo'),
820
('UseLocationAsAQInSIP', '0', '', 'Use permanent_location instead of homebranch for AQ in SIP response', 'YesNo'),
820
('UseLocationAsAQInSIP', '0', '', 'Use permanent_location instead of homebranch for AQ in SIP response', 'YesNo'),
821
('UseOCLCEncodingLevels','0',NULL,'If enabled, include OCLC encoding levels in leader value builder dropdown for position 17.','YesNo'),
821
('UseOCLCEncodingLevels','0',NULL,'If enabled, include OCLC encoding levels in leader value builder dropdown for position 17.','YesNo'),
822
('UsePatronPreferencesForOverdueNotices', '0', NULL, 'Use patron specific messaging preferences for overdue notices if available', 'YesNo'),
823
('UsePatronPreferencesForOverdueNoticesPrint', 'always', 'always|fallback|never', 'When to send print notices when using patron specific messaging preferences for overdue notices', 'Choice'),
822
('UseRecalls','0',NULL,'Enable or disable recalls','YesNo'),
824
('UseRecalls','0',NULL,'Enable or disable recalls','YesNo'),
823
('UseTransportCostMatrix','0','','Use Transport Cost Matrix when filling holds','YesNo'),
825
('UseTransportCostMatrix','0','','Use Transport Cost Matrix when filling holds','YesNo'),
824
('UseWYSIWYGinSystemPreferences','0','','Show WYSIWYG editor when editing certain HTML system preferences.','YesNo'),
826
('UseWYSIWYGinSystemPreferences','0','','Show WYSIWYG editor when editing certain HTML system preferences.','YesNo'),
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc (+3 lines)
Lines 34-39 Link Here
34
          [% ELSIF ( messaging_preference.Ill_unavailable ) %]<span>Interlibrary loan unavailable</span>
34
          [% ELSIF ( messaging_preference.Ill_unavailable ) %]<span>Interlibrary loan unavailable</span>
35
          [% ELSIF ( messaging_preference.Ill_update ) %]<span>Interlibrary loan updated</span>
35
          [% ELSIF ( messaging_preference.Ill_update ) %]<span>Interlibrary loan updated</span>
36
          [% ELSIF ( messaging_preference.Auto_Renewals ) %]<span>Auto renewal</span>
36
          [% ELSIF ( messaging_preference.Auto_Renewals ) %]<span>Auto renewal</span>
37
          [% ELSIF ( messaging_preference.Overdue1 ) %]<span>Overdue 1</span>
38
          [% ELSIF ( messaging_preference.Overdue2 ) %]<span>Overdue 2</span>
39
          [% ELSIF ( messaging_preference.Overdue3 ) %]<span>Overdue 3</span>
37
          [% ELSE %]<span>Unknown</span>
40
          [% ELSE %]<span>Unknown</span>
38
          [% END %]
41
          [% END %]
39
      </td>
42
      </td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/categories.tt (+3 lines)
Lines 653-658 Link Here
653
                                                [% ELSIF ( prefs.Ill_update ) %]<span>Interlibrary loan updated</span>
653
                                                [% ELSIF ( prefs.Ill_update ) %]<span>Interlibrary loan updated</span>
654
                                                [% ELSIF ( prefs.Auto_Renewals ) %]<span>Auto renewal</span>
654
                                                [% ELSIF ( prefs.Auto_Renewals ) %]<span>Auto renewal</span>
655
                                                [% ELSIF ( prefs.Hold_Reminder ) %]<span>Hold reminder</span>
655
                                                [% ELSIF ( prefs.Hold_Reminder ) %]<span>Hold reminder</span>
656
                                                [% ELSIF ( prefs.Overdue1 ) %]<span>Overdue 1</span>
657
                                                [% ELSIF ( prefs.Overdue2 ) %]<span>Overdue 2</span>
658
                                                [% ELSIF ( prefs.Overdue3 ) %]<span>Overdue 3</span>
656
                                                [% ELSE %]<span>Unknown</span>
659
                                                [% ELSE %]<span>Unknown</span>
657
                                                [% END %]:
660
                                                [% END %]:
658
                                                <strong>[% transport.transport | html %]</strong><br />
661
                                                <strong>[% transport.transport | html %]</strong><br />
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (-1 / +16 lines)
Lines 571-577 Circulation: Link Here
571
            - This is a list of value pairs. When an item is checked out, if the not for loan value on the left matches the items not for loan value
571
            - This is a list of value pairs. When an item is checked out, if the not for loan value on the left matches the items not for loan value
572
            - "it will be updated to the right-hand value. For example, '-1: 0' will cause an item that was set to 'Ordered' to now be available for loan."
572
            - "it will be updated to the right-hand value. For example, '-1: 0' will cause an item that was set to 'Ordered' to now be available for loan."
573
            - Each pair of values should be on a separate line.
573
            - Each pair of values should be on a separate line.
574
    Checkin policy:
574
        -
575
            - Use message preferences based on
576
            - pref: UsePatronPreferencesForOverdueNotices
577
              choices:
578
                  1: individual patron preference
579
                  0: patron category
580
            - when sending overdue notices.
581
        -
582
            - When using individual patron preferences for overdue notices
583
            - pref: UsePatronPreferencesForOverdueNoticesPrint
584
              choices:
585
                  always: always
586
                  fallback: when no other transport set
587
                  never: never
588
            - print notice.
589
    Checkin Policy:
575
        -
590
        -
576
            - pref: TrapHoldsOnOrder
591
            - pref: TrapHoldsOnOrder
577
              choices:
592
              choices:
(-)a/misc/cronjobs/overdue_notices.pl (-5 / +20 lines)
Lines 25-36 use Pod::Usage qw( pod2usage ); Link Here
25
use Text::CSV_XS;
25
use Text::CSV_XS;
26
use DateTime;
26
use DateTime;
27
use DateTime::Duration;
27
use DateTime::Duration;
28
use List::MoreUtils qw( uniq );
28
29
29
use Koha::Script -cron;
30
use Koha::Script -cron;
30
use C4::Context;
31
use C4::Context;
31
use C4::Letters;
32
use C4::Letters;
32
use C4::Overdues qw( GetOverdueMessageTransportTypes parse_overdues_letter );
33
use C4::Overdues qw( GetOverdueMessageTransportTypes parse_overdues_letter );
33
use C4::Log qw( cronlogaction );
34
use C4::Log qw( cronlogaction );
35
use C4::Members::Messaging qw( GetMessagingPreferences );
34
use Koha::Patron::Debarments qw( AddUniqueDebarment );
36
use Koha::Patron::Debarments qw( AddUniqueDebarment );
35
use Koha::DateUtils qw( dt_from_string output_pref );
37
use Koha::DateUtils qw( dt_from_string output_pref );
36
use Koha::Calendar;
38
use Koha::Calendar;
Lines 711-721 END_SQL Link Here
711
                    push @items, $item_info;
713
                    push @items, $item_info;
712
                }
714
                }
713
                $sth2->finish;
715
                $sth2->finish;
714
716
                my @message_transport_types;
715
                my @message_transport_types = @{ GetOverdueMessageTransportTypes( $branchcode, $overdue_rules->{categorycode}, $i) };
717
                if (C4::Context->preference('UsePatronPreferencesForOverdueNotices')) {
716
                @message_transport_types = @{ GetOverdueMessageTransportTypes( q{}, $overdue_rules->{categorycode}, $i) }
718
                    my $patronpref = GetMessagingPreferences(
719
                        { borrowernumber => $borrowernumber, message_name => "Overdue$i"});
720
                    if ($patronpref && $patronpref->{'transports'}) {
721
                        @message_transport_types = keys %{$patronpref->{'transports'}};
722
                    }
723
                    my $print_behavior = C4::Context->preference('UsePatronPreferencesForOverdueNoticesPrint');
724
                    if (
725
                        $print_behavior eq 'always' ||
726
                        $print_behavior eq 'fallback' && !@message_transport_types
727
                    ) {
728
                        unshift(@message_transport_types, 'shift');
729
                    }
730
                } else {
731
                    @message_transport_types = @{ GetOverdueMessageTransportTypes( $branchcode, $overdue_rules->{categorycode}, $i) };
732
                    @message_transport_types = @{ GetOverdueMessageTransportTypes( q{}, $overdue_rules->{categorycode}, $i) }
717
                    unless @message_transport_types;
733
                    unless @message_transport_types;
718
734
                }
719
735
720
                my $print_sent = 0; # A print notice is not yet sent for this patron
736
                my $print_sent = 0; # A print notice is not yet sent for this patron
721
                for my $mtt ( @message_transport_types ) {
737
                for my $mtt ( @message_transport_types ) {
722
- 

Return to bug 30515