From 531bd20ccf4bb9e1ac9a255f52bcb30b306b2a61 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 --- Koha/Account.pm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Koha/Account.pm b/Koha/Account.pm index e68a6e0..7563d0f 100644 --- a/Koha/Account.pm +++ b/Koha/Account.pm @@ -430,6 +430,38 @@ sub outstanding_debits { return ( $total, $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.1.4