diff --git a/Koha/Patron.pm b/Koha/Patron.pm index a091e2c3fb..83e609e89f 100644 --- a/Koha/Patron.pm +++ b/Koha/Patron.pm @@ -2831,6 +2831,10 @@ sub queue_notice { @message_transports = @{ $params->{message_transports} }; } return unless defined $letter_code; + if ( $params->{expiry_notice_mandatory} ) { + push( @message_transports, $params->{primary_contact_method} || 'print' ) if scalar(@message_transports) == 0; + } + $letter_params->{letter_code} = $letter_code; my $print_sent = 0; my %return; diff --git a/misc/cronjobs/membership_expiry.pl b/misc/cronjobs/membership_expiry.pl index 228c15d71c..f1591413f4 100755 --- a/misc/cronjobs/membership_expiry.pl +++ b/misc/cronjobs/membership_expiry.pl @@ -255,6 +255,8 @@ my $upcoming_mem_expires = Koha::Patrons->search_upcoming_membership_expires( after => $after, } ); +my @mandatory_expiry_notice_categories = + map { $_->categorycode } Koha::Patron::Categories->search( { 'me.enforce_expiry_notice' => 1 } )->as_list; my $where_literal = join ' AND ', @where; $upcoming_mem_expires = $upcoming_mem_expires->search( \$where_literal ) if @where;