From c5d177b82e94ed36c25fb51110ca1e10ce1d5b29 Mon Sep 17 00:00:00 2001 From: Olli-Antti Kivilahti Date: Mon, 15 Sep 2014 11:38:32 +0300 Subject: [PATCH] Bug 12922 - Do not DIE the advance_notices.pl -cronjob if no letter of type is found!! We failed to deliver advance_notices because a template for sms's is undefined, because we don't support sending sms' as advance_notice. This crashed the cronjob because digests are set to die instead of the warn used in non-digest. And we get angry customers asking for compensation! This patch replaces the die with warn. TEST PREPARATION: 0. Edit the ODUEDGST letter, find an undefined letter for any trasport type. TEST PLAN: 1. Find a borrower and from the messaging preferences set the "Advance notice" transport type to the undefined digest. Set the "Days in Advance" to 1. 2. Check-out something for that borrower and set the due date for tomorrow. 3. Run "misc/cronjobs/advance_notices.pl -c -n -v" from the terminal. 4. BEFORE THIS PATCH: You get an error "No circulation PREDUEDGST letter transported by sms at /home/koha/kohaclone/C4/Letters.pm line 609." and the script dies. 4. AFTER THIS PATCH: You get an error "No circulation PREDUEDGST letter transported by sms at /home/koha/kohaclone/C4/Letters.pm line 609." but the script keep on going! Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall Signed-off-by: Mason James --- misc/cronjobs/advance_notices.pl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/misc/cronjobs/advance_notices.pl b/misc/cronjobs/advance_notices.pl index 62e36e4a92..26f87ae22f 100755 --- a/misc/cronjobs/advance_notices.pl +++ b/misc/cronjobs/advance_notices.pl @@ -266,7 +266,7 @@ UPCOMINGITEM: foreach my $upcoming ( @$upcoming_dues ) { message_transport_type => $transport, } ) or warn "no letter of type '$letter_type' found. Please see sample_notices.sql"; - push @letters, $letter; + push @letters, $letter if $letter; } } } else { @@ -302,7 +302,7 @@ UPCOMINGITEM: foreach my $upcoming ( @$upcoming_dues ) { message_transport_type => $transport, } ) or warn "no letter of type '$letter_type' found. Please see sample_notices.sql"; - push @letters, $letter; + push @letters, $letter if $letter; } } } @@ -376,8 +376,8 @@ PATRON: while ( my ( $borrowernumber, $digest ) = each %$upcoming_digest ) { message_transport_type => $transport, } ) - or die "no letter of type '$letter_type' found. Please see sample_notices.sql"; - push @letters, $letter; + or warn "no letter of type '$letter_type' found. Please see sample_notices.sql"; + push @letters, $letter if $letter; } if ( @letters ) { @@ -434,8 +434,8 @@ PATRON: while ( my ( $borrowernumber, $digest ) = each %$due_digest ) { message_transport_type => $transport, } ) - or die "no letter of type '$letter_type' found. Please see sample_notices.sql"; - push @letters, $letter; + or warn "no letter of type '$letter_type' found. Please see sample_notices.sql"; + push @letters, $letter if $letter; } if ( @letters ) { -- 2.39.5