From 79b484c0dff661df03de19bc8eb67d67d1bc6ba5 Mon Sep 17 00:00:00 2001 From: Emmi Takkinen Date: Tue, 7 Jul 2020 10:32:36 +0300 Subject: [PATCH 2/2] Bug 13961: Check that borrowernumber isn't a reference Some SendAlerts() tests in Letters.t failed due SQL::Abstract errors, caused by HASH sometimes set as borrowernumber. Added code to check if borrowernumber is defined and it isn't a reference. To test prove t/db_dependent/Letters.t Sponsored-by: Koha-Suomi Oy --- C4/Letters.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/C4/Letters.pm b/C4/Letters.pm index 8951374b62..eb0d47013c 100644 --- a/C4/Letters.pm +++ b/C4/Letters.pm @@ -637,11 +637,13 @@ sub GetPreparedLetter { my $currency_format = (defined($active_currency)) ? $active_currency->currency : undef; my $borrowernumber = $tables->{borrowers}; - my $lines = Koha::Account::Lines->search({ borrowernumber => $borrowernumber }); - my ($totalfine) = $lines->total_outstanding; - my $totalfine_formatted = currency_format($currency_format, "$totalfine", FMT_SYMBOL); - $totalfine_formatted = sprintf("%.2f", $totalfine) unless $totalfine_formatted; - $letter->{content} =~ s/<>/$totalfine_formatted/go; + if($borrowernumber && !ref($borrowernumber)){ + my $lines = Koha::Account::Lines->search({ borrowernumber => $borrowernumber }); + my ($totalfine) = $lines->total_outstanding; + my $totalfine_formatted = currency_format($currency_format, "$totalfine", FMT_SYMBOL); + $totalfine_formatted = sprintf("%.2f", $totalfine) unless $totalfine_formatted; + $letter->{content} =~ s/<>/$totalfine_formatted/go; + } if ($want_librarian) { # parsing librarian name -- 2.17.1