From 376d91bd70b8f688acb945068ee038768e01746d Mon Sep 17 00:00:00 2001 From: Hayley Mapley Date: Wed, 6 Mar 2019 04:15:53 +0000 Subject: [PATCH] Bug 20537: Added check to remove warning from overdue_notices.pl When executing overdue_notices.pl on borrowers that lack a surname, we see this error: Use of uninitialized value in concatenation (.) or string at /usr/share/koha/bin/cronjobs/overdue_notices.pl line 575. This patch fixes this issue by setting the $borr variable based on the information that has been defined. To test: 1) Create a borrower and set its surname to null 2) Checkout an item to the borrower and set it to be overdue 3) Navigate to kohaclone/misc/cronjobs and enter a koha-shell 4) Run the script: ./overdue_notices.pl 5) Observe the error appears 6) Apply the patch 7) Repeat steps 3-4 8) Observe the error is gone 9) Sign off! --- misc/cronjobs/overdue_notices.pl | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/misc/cronjobs/overdue_notices.pl b/misc/cronjobs/overdue_notices.pl index 8c42335c2c..98652f3f71 100755 --- a/misc/cronjobs/overdue_notices.pl +++ b/misc/cronjobs/overdue_notices.pl @@ -574,13 +574,25 @@ END_SQL next; } $borrowernumber = $data->{'borrowernumber'}; - my $borr = - $data->{'firstname'} . ', ' - . $data->{'surname'} . ' (' - . $borrowernumber . ')'; + + my $borr; + if ($data->{'surname'} && $data->{'firstname'}) { + $borr = + $data->{'firstname'} . ', ' + . $data->{'surname'} . ' (' + . $borrowernumber . ')'; + } elsif ($data->{'surname'}) { + $borr = + $data->{'surname'} . ' (' + . $borrowernumber . ')'; + } elsif ($data->{'firstname'}) { + $borr = + $data->{'firstname'} . ' (' + . $borrowernumber . ')'; + } $verbose and warn "borrower $borr has items triggering level $i."; - + my $patron = Koha::Patrons->find( $borrowernumber ); @emails_to_use = (); my $notice_email = $patron->notice_email_address; -- 2.11.0