Address Launchpad Bug 793550.
authorJason Stephenson <jstephenson@mvlc.org>
Sat, 3 Nov 2012 16:04:34 +0000 (12:04 -0400)
committerDan Wells <dbw2@calvin.edu>
Tue, 13 Nov 2012 20:49:39 +0000 (15:49 -0500)
commitd9f58b94114dfb07072277023d6d6a55e74747ed
tree7c50f69181f7dedbf364990e197b946255c0c3e1
parenta56a6af3e0e3403ba3eed201dc32e3bc6afb2eef
Address Launchpad Bug 793550.

Check for stop fines reason of CHECKIN or RENEW before closing a circulation
transaction when the balance reaches zero.

Also, if the stop fines reason is LOST, then check a new ou setting,
circ.lost.xact_open_on_zero, to determine if the transaction is closed or
kept open.  The setting is checked for the circulation copy's circ_lib.

Add CircCommon->can_close_circ.

Following up on Dan Wells' comments on Launchpad Bug 793550, I have moved
the logic to check if the circ transaction can be closed to its own utility
function in OpenILS::Application::Circ::CircCommon.  This potentially
consolidates the logic in one place in case we need to use it elsewhere.

Instead of checking for stop fines reasons of CHECKIN and RENEW and
checking for checkin time on the circ, we just check for checkin time.
Both CHECKIN and RENEW should set the checkin time.

Also, use the constant for stop fines reason of LOST, rather than the
literal string "LOST".

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/CircCommon.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.data.coust_lost_xact_finish_on_zero.sql [new file with mode: 0644]