Bug 29223: Use patron's branchcode for digest if not sending digest per branch

To test:
 1 - Set system preference  AutoRenewalNotices to 'according to patron messaging preferences'
 2 - Set circ rule for auto renewal - 100 renewals allowed - no renewal before 100
    This shoud make a checkout eligible for many auto renewals for testing
 3 - Checkout an item to a patron, ensure item is from a different branch than patron
 4 - Ensure the patron has an email, and set an email for patron's branch and items branch
 5 - Set the patron messaging preferences for auto-renewal to 'email' and 'wants digest'
 6 - perl misc/cronjobs/automatic_renewals.pl --send-notices --confirm
 7 - Job dies:
    Can't call method "from_email_address" on an undefined value at /usr/share/koha/bin/cronjobs/automatic_renewals.pl line 286.
 8 - Apply patch
 9 - Repeat
10 - NO errors
11 - Check patron notices tab, should be a notice enqueued, check DB to see from address is patron's branch
12 - perl misc/cronjobs/automatic_renewals.pl --send-notices --confirm --digest-per-branch
13 - No errors
14 - Check patron notices tab, should be a notice enqueued, check DB to see from address is item's branch

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

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Nick Clemens 2021-10-13 15:20:05 +00:00 committed by Jonathan Druart
parent 47a0e5e49e
commit f0858a202b
1 changed files with 8 additions and 2 deletions

View File

@ -282,14 +282,20 @@ sub send_digests {
next PATRON unless $borrower_preferences; # how could this happen?
my $patron = Koha::Patrons->find( $borrowernumber );
my $library = Koha::Libraries->find( $params->{branchcode} );
my $branchcode;
if ( defined $params->{branchcode} ) {
$branchcode = $params->{branchcode};
} else {
$branchcode = $patron->branchcode;
}
my $library = Koha::Libraries->find( $branchcode );
my $from_address = $library->from_email_address;
foreach my $transport ( keys %{ $borrower_preferences->{'transports'} } ) {
my $letter = C4::Letters::GetPreparedLetter (
module => 'circulation',
letter_code => $params->{letter_code},
branchcode => $params->{branchcode},
branchcode => $branchcode,
lang => $patron->lang,
substitute => {
error => $digest->{error}||0,