LP#1689656: Adjust to zero on negative balance user/jeffdavis/lp1689656-adjust-to-zero-on-negative-balance
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Tue, 9 May 2017 21:17:29 +0000 (14:17 -0700)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Tue, 9 May 2017 21:29:09 +0000 (14:29 -0700)
commit6a467148be4194e086f5ed55dea77761efe614f7
tree4691821cf0c73f7da1243d929749a6a27bb1ed19
parent7b9c44dbd11965a8475bbf589560642621ed1aeb
LP#1689656: Adjust to zero on negative balance

Adjust to zero was not actually adjusting to zero on negative balances
in at least some cases.  This patch corrects that behavior.

Test plan:

[1] Generate multiple overdue billings on an overdue circ.
[2] Apply a payment (cash or forgive) to resolve the overdue billings.
[3] Checkin the item using backdated checkin or amnesty mode, such that
    the overdue billings are automatically voided, resulting in a
    negative balance.
[4] Adjust to zero.  A single new manual adjustment billing is created,
    reinstating one overdue billing, and then the adjust-to-zero process
    exits.  The negative balance has been reduced by the amount of one
    overdue billing, rather than being fully adjusted to zero.
[5] Apply the patch and restart services.
[6] Repeat steps 1-3 with a new circulation.
[7] Adjust to zero.  This time, the balance should be correctly adjusted
    to zero, instead of exiting prematurely with an outstanding
    negative balance.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm