From b4685ca2054d7b5484f09c4c879fb36919443a13 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 24 Mar 2022 15:31:05 +0000 Subject: [PATCH] Bug 30354: Don't assign warn as letter MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit TO test: 1 - Check out an item marked for autop renewal to a patron and make it overdue 2 - Set system preference AutoRenewalNotices to follow messaging prefs 3 - set that borrower to receive both email and SMS AUTO_RENEWALS_DGST 4 - confirm your AUTO_RENEWALS_DGST does not have SMS content but does have email 5 - run the auto_renew cron 6 - item is renewed, but error from cron, and cron dies: No circulation AUTO_RENEWALS_DGST letter transported by sms at /kohadevbox/koha/C4/Letters.pm line 583. no letter of type 'AUTO_RENEWALS_DGST' found for borrowernumber 5. Please see sample_notices.sql at misc/cronjobs/automatic_renewals.pl line 305. Can't use string ("1") as a HASH ref while "strict refs" in use at /kohadevbox/koha/C4/Letters.pm line 898. 7 - Apply patch 8 - Make item eligible for auto renewal agian (or checkin/checkout) 9 - Run the cron 10 - There is still 2 warn, but cron does not die: No circulation AUTO_RENEWALS_DGST letter transported by sms at /kohadevbox/koha/C4/Letters.pm line 583. no letter of type 'AUTO_RENEWALS_DGST' found for borrowernumber 5. Please see sample_notices.sql at misc/cronjobs/ automatic_renewals.pl line 305. 11 - Patron receives email and item is renewed Signed-off-by: David Nind Signed-off-by: Joonas Kylmälä Signed-off-by: Fridolin Somers Signed-off-by: Kyle M Hall --- misc/cronjobs/automatic_renewals.pl | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/misc/cronjobs/automatic_renewals.pl b/misc/cronjobs/automatic_renewals.pl index a80c166ee0..1af18c70f5 100755 --- a/misc/cronjobs/automatic_renewals.pl +++ b/misc/cronjobs/automatic_renewals.pl @@ -328,16 +328,23 @@ sub send_digests { borrowers => $patron->borrowernumber, }, message_transport_type => $transport, - ) || warn "no letter of type '$params->{letter_code}' found for borrowernumber $borrowernumber. Please see sample_notices.sql"; + ); - next unless $letter; + if ($letter) { + C4::Letters::EnqueueLetter( + { + letter => $letter, + borrowernumber => $borrowernumber, + from_address => $from_address, + message_transport_type => $transport + } + ); + } + else { + warn +"no letter of type '$params->{letter_code}' found for borrowernumber $borrowernumber. Please see sample_notices.sql"; + } - C4::Letters::EnqueueLetter({ - letter => $letter, - borrowernumber => $borrowernumber, - from_address => $from_address, - message_transport_type => $transport - }); } } } -- 2.39.5