From ac00c09d634d6882709a564828b4e65e8e74fb09 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 24 Feb 2016 16:24:04 +0000 Subject: [PATCH] Bug 15908 - Remove use of recordpayment_selectaccts Test Plan: 1) Apply this patch 2) prove t/db_dependent/Accounts.t 3) Test fine payment via the "Pay selected" button --- C4/Accounts.pm | 42 ------------------------------------------ members/paycollect.pl | 24 ++++++++++++++++++++++-- t/db_dependent/Accounts.t | 1 - 3 files changed, 22 insertions(+), 45 deletions(-) diff --git a/C4/Accounts.pm b/C4/Accounts.pm index eafc82b..a149d76 100644 --- a/C4/Accounts.pm +++ b/C4/Accounts.pm @@ -46,7 +46,6 @@ BEGIN { &chargelostitem &ReversePayment &makepartialpayment - &recordpayment_selectaccts &WriteOffFee &purge_zero_balance_fees ); @@ -353,47 +352,6 @@ sub ReversePayment { } -=head2 recordpayment_selectaccts - - recordpayment_selectaccts($borrowernumber, $payment,$accts); - -Record payment by a patron. C<$borrowernumber> is the patron's -borrower number. C<$payment> is a floating-point number, giving the -amount that was paid. C<$accts> is an array ref to a list of -accountnos which the payment can be recorded against - -Amounts owed are paid off oldest first. That is, if the patron has a -$1 fine from Feb. 1, another $1 fine from Mar. 1, and makes a payment -of $1.50, then the oldest fine will be paid off in full, and $0.50 -will be credited to the next one. - -=cut - -sub recordpayment_selectaccts { - my ( $borrowernumber, $amount, $accts, $note ) = @_; - - my @lines = Koha::Account::Lines->search( - { - borrowernumber => $borrowernumber, - amountoutstanding => { '<>' => 0 }, - accountno => { 'IN' => $accts }, - }, - { order_by => 'date' } - ); - - return Koha::Account->new( - { - patron_id => $borrowernumber, - } - )->pay( - { - amount => $amount, - lines => \@lines, - note => $note, - } - ); -} - sub makepartialpayment { my ( $accountlines_id, $borrowernumber, $accountno, $amount, $user, $branch, $payment_note ) = @_; diff --git a/members/paycollect.pl b/members/paycollect.pl index ce73bc9..e3d1b51 100755 --- a/members/paycollect.pl +++ b/members/paycollect.pl @@ -132,8 +132,28 @@ if ( $total_paid and $total_paid ne '0.00' ) { } my @acc = split /,/, $select; my $note = $input->param('selected_accts_notes'); - recordpayment_selectaccts( $borrowernumber, $total_paid, \@acc, $note ); - } else { + + my @lines = Koha::Account::Lines->search( + { + borrowernumber => $borrowernumber, + accountno => { 'IN' => \@acc }, + }, + { order_by => 'date' } + ); + + return Koha::Account->new( + { + patron_id => $borrowernumber, + } + )->pay( + { + amount => $total_paid, + lines => \@lines, + note => $note, + } + ); + } + else { my $note = $input->param('selected_accts_notes'); Koha::Account->new( { patron_id => $borrowernumber } ) ->pay( { amount => $total_paid, note => $note } ); diff --git a/t/db_dependent/Accounts.t b/t/db_dependent/Accounts.t index cb821cf..c8ee96b 100644 --- a/t/db_dependent/Accounts.t +++ b/t/db_dependent/Accounts.t @@ -45,7 +45,6 @@ can_ok( 'C4::Accounts', getcredits getrefunds ReversePayment - recordpayment_selectaccts makepartialpayment WriteOffFee purge_zero_balance_fees ) -- 2.1.4