From fb15a9631044cd0191c58feb5b8370e9b846136b Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Mon, 15 Oct 2018 08:02:31 -0400 Subject: [PATCH] Bug 20629: Remove ability to 'reverse' payments Test Plan: 1) Apply this patch 2) Note all references to reversing payments have been removed 3) Note ability to void payments remains unchanged Signed-off-by: Mark Tompsett Signed-off-by: Tomas Cohen Arazi Signed-off-by: Nick Clemens --- C4/Accounts.pm | 56 +++++-------------- .../prog/en/modules/members/boraccount.tt | 9 +-- members/boraccount.pl | 6 +- members/printfeercpt.pl | 4 -- t/db_dependent/Accounts.t | 2 +- 5 files changed, 18 insertions(+), 59 deletions(-) diff --git a/C4/Accounts.pm b/C4/Accounts.pm index f03752c543..60b10a2035 100644 --- a/C4/Accounts.pm +++ b/C4/Accounts.pm @@ -40,7 +40,6 @@ BEGIN { &manualinvoice &getnextacctno &chargelostitem - &ReversePayment &purge_zero_balance_fees ); } @@ -279,50 +278,21 @@ sub manualinvoice { return 0; } -#FIXME: ReversePayment should be replaced with a Void Payment feature -sub ReversePayment { - my ($accountlines_id) = @_; - my $dbh = C4::Context->dbh; - - my $accountline = Koha::Account::Lines->find($accountlines_id); - my $amount_outstanding = $accountline->amountoutstanding; - - my $new_amountoutstanding = - $amount_outstanding <= 0 ? $accountline->amount * -1 : 0; - - $accountline->description( $accountline->description . " Reversed -" ); - $accountline->amountoutstanding($new_amountoutstanding); - $accountline->store(); - - my $account_offset = Koha::Account::Offset->new( - { - credit_id => $accountline->id, - type => 'Reverse Payment', - amount => $amount_outstanding - $new_amountoutstanding, - } - )->store(); - - if ( C4::Context->preference("FinesLog") ) { - my $manager_id = 0; - $manager_id = C4::Context->userenv->{'number'} if C4::Context->userenv; +sub getcharges { + my ( $borrowerno, $timestamp, $accountno ) = @_; + my $dbh = C4::Context->dbh; + my $timestamp2 = $timestamp - 1; + my $query = ""; + my $sth = $dbh->prepare( + "SELECT * FROM accountlines WHERE borrowernumber=? AND accountno = ?" + ); + $sth->execute( $borrowerno, $accountno ); - logaction( - "FINES", 'MODIFY', - $accountline->borrowernumber, - Dumper( - { - action => 'reverse_fee_payment', - borrowernumber => $accountline->borrowernumber, - old_amountoutstanding => $amount_outstanding, - new_amountoutstanding => $new_amountoutstanding, - , - accountlines_id => $accountline->id, - accountno => $accountline->accountno, - manager_id => $manager_id, - } - ) - ); + my @results; + while ( my $data = $sth->fetchrow_hashref ) { + push @results,$data; } + return (@results); } =head2 purge_zero_balance_fees diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt index 44015bb14c..57c19b8021 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt @@ -77,13 +77,8 @@ [% END %] Details [% IF ( reverse_col) %] - [% IF ( account.payment || account.amount < 0 ) %] - [% IF account.payment %] - Reverse - [% END %] - [% IF account.amount < 0 %] - Void - [% END %] + [% IF account.object.is_credit %] + Void [% ELSE %]   [% END %] diff --git a/members/boraccount.pl b/members/boraccount.pl index 582264a6fe..a36979aed2 100755 --- a/members/boraccount.pl +++ b/members/boraccount.pl @@ -60,10 +60,7 @@ unless ( $patron ) { output_and_exit_if_error( $input, $cookie, $template, { module => 'members', logged_in_user => $logged_in_user, current_patron => $patron } ); -if ( $action eq 'reverse' ) { - ReversePayment( scalar $input->param('accountlines_id') ); -} -elsif ( $action eq 'void' ) { +if ( $action eq 'void' ) { my $payment_id = scalar $input->param('accountlines_id'); my $payment = Koha::Account::Lines->find( $payment_id ); $payment->void(); @@ -87,6 +84,7 @@ my @accountlines; while ( my $line = $accts->next ) { # FIXME We should pass the $accts iterator to the template and do this formatting part there my $accountline = $line->unblessed; + $accountline->{object} = $line; $accountline->{amount} += 0.00; if ($accountline->{amount} <= 0 ) { $accountline->{amountcredit} = 1; diff --git a/members/printfeercpt.pl b/members/printfeercpt.pl index 4aa8bd0794..6333330f70 100755 --- a/members/printfeercpt.pl +++ b/members/printfeercpt.pl @@ -54,10 +54,6 @@ my $logged_in_user = Koha::Patrons->find( $loggedinuser ) or die "Not logged in" my $patron = Koha::Patrons->find( $borrowernumber ); output_and_exit_if_error( $input, $cookie, $template, { module => 'members', logged_in_user => $logged_in_user, current_patron => $patron } ); -if ( $action eq 'print' ) { -# ReversePayment( $borrowernumber, $input->param('accountno') ); -} - #get account details my $total = $patron->account->balance; diff --git a/t/db_dependent/Accounts.t b/t/db_dependent/Accounts.t index 4c40012604..1cbd17dac3 100644 --- a/t/db_dependent/Accounts.t +++ b/t/db_dependent/Accounts.t @@ -44,7 +44,7 @@ can_ok( 'C4::Accounts', getnextacctno chargelostitem manualinvoice - ReversePayment + getcharges purge_zero_balance_fees ) ); -- 2.39.2