From 854507a747ec642bf39d253c0b29448acf41a525 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Tue, 26 Jun 2018 13:08:36 +0000 Subject: [PATCH] Bug 20946: Reduce number of db calls Signed-off-by: Kyle M Hall --- Koha/Account.pm | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/Koha/Account.pm b/Koha/Account.pm index 02832d36c7..6a80d32bf1 100644 --- a/Koha/Account.pm +++ b/Koha/Account.pm @@ -22,6 +22,7 @@ use Modern::Perl; use Carp; use Data::Dumper; use List::MoreUtils qw( uniq ); +use List::Util qw( sum ); use C4::Log qw( logaction ); use C4::Stats qw( UpdateStats ); @@ -297,19 +298,6 @@ my ( $total, $lines ) = Koha::Account->new({ patron_id => $patron_id })->outstan sub outstanding_debits { my ($self) = @_; - my $outstanding_debits = Koha::Account::Lines->search( - { borrowernumber => $self->{patron_id}, - amountoutstanding => { '>' => 0 } - }, - { select => [ { sum => 'amountoutstanding' } ], - as => ['outstanding_debits_total'], - } - ); - my $total - = ( $outstanding_debits->count ) - ? $outstanding_debits->next->get_column('outstanding_debits_total') + 0 - : 0; - my $lines = Koha::Account::Lines->search( { borrowernumber => $self->{patron_id}, @@ -317,6 +305,11 @@ sub outstanding_debits { } ); + my $total = + ( $lines->count ) + ? sum( $lines->get_column('amountoutstanding') ) + 0 + : 0; + return ( $total, $lines ); } -- 2.15.2 (Apple Git-101.1)