From 4ee390cbb7ce0726c4d80c4581ef1a387abb47ce Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 25 Jun 2018 11:15:14 -0300 Subject: [PATCH] Bug 20990: Add Koha::Account->outstanding_credits This patch adds a method that retrieves (for a patron's account) the outstanding credits (i.e. those that haven't been applied to any debit. To test: - Apply this patches - Run: $ kshell k$ prove t/db_dependent/Koha/Account.t => SUCCESS: Tests pass! - Sign off :-D Signed-off-by: Josef Moravec Signed-off-by: Kyle M Hall Signed-off-by: Nick Clemens --- Koha/Account.pm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Koha/Account.pm b/Koha/Account.pm index 8e3ed40798..1912e68ceb 100644 --- a/Koha/Account.pm +++ b/Koha/Account.pm @@ -422,6 +422,38 @@ sub outstanding_debits { return $lines; } +=head3 outstanding_credits + +my ( $total, $lines ) = Koha::Account->new({ patron_id => $patron_id })->outstanding_credits; + +=cut + +sub outstanding_credits { + my ($self) = @_; + + my $outstanding_credits = Koha::Account::Lines->search( + { borrowernumber => $self->{patron_id}, + amountoutstanding => { '<' => 0 } + }, + { select => [ { sum => 'amountoutstanding' } ], + as => ['outstanding_credits_total'], + } + ); + my $total + = ( $outstanding_credits->count ) + ? $outstanding_credits->next->get_column('outstanding_credits_total') + 0 + : 0; + + my $lines = Koha::Account::Lines->search( + { + borrowernumber => $self->{patron_id}, + amountoutstanding => { '<' => 0 } + } + ); + + return ( $total, $lines ); +} + =head3 non_issues_charges my $non_issues_charges = $self->non_issues_charges -- 2.39.5