Bug 20946: Reduce number of db calls

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
Kyle Hall 2018-06-26 13:08:36 +00:00 committed by Nick Clemens
parent b0cb7f44ef
commit b3cd3855b9

View file

@ -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,9 @@ sub outstanding_debits {
}
);
# sum returns undef it list is empty
my $total = sum( $lines->get_column('amountoutstanding') ) + 0;
return ( $total, $lines );
}