Bug 21759: Avoid manually setting amountoutstanding in _FixAccountForLostAndReturned
authorTomas Cohen Arazi <tomascohen@theke.io>
Mon, 10 Dec 2018 19:45:00 +0000 (16:45 -0300)
committerNick Clemens <nick@bywatersolutions.com>
Tue, 11 Dec 2018 20:35:08 +0000 (20:35 +0000)
commite75c869785d09e6a2b1eb8dbe47cca868fb86105
tree18dca897c1b9c3a5a9b25c11d3537d11d034e83b
parent1622f0f609fbf7862c481eeec98cd1668b09b145
Bug 21759: Avoid manually setting amountoutstanding in _FixAccountForLostAndReturned

This patch changes the behaviour in the _FixAccountForLostAndFound
method.

The method will now add the amountoutstanding value for the lost item
fee to the CR credit to be generated. This means that:
- If there's some remaining debt, the same amount  will be added to the
  CR credit and used to cancel that debt. The final amountoutstanding
  will be the same as before, but an offset will be generated as
  required.
- If the line was written off, the behaviour remains unchanged, so no
  offset.
- If the line was payed and/or written off in full only the payments are
  refund, preserving the current behaviour.

To test:
- Apply the regression tests patch
- Run:
  $ kshell
 k$ prove t/db_dependent/Circulation.t
=> FAIL: Tests fail because the behaviour is not correct
- Apply this patch
- Run:
 k$ prove t/db_dependent/Circulation.t
=> SUCCESS: Tests now pass!
- Sign off :-D

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
C4/Circulation.pm