LP#1511765 Fix error when checking in with zero-balance lost OU setting user/khuckins/lp1511765_fix_checkin_error_signoff
authorMichele Morgan <mmorgan@noblenet.org>
Wed, 23 May 2018 17:54:28 +0000 (13:54 -0400)
committerKyle Huckins <khuckins@catalyte.io>
Mon, 22 Jul 2019 16:16:49 +0000 (16:16 +0000)
enabled

Fixes an error generated when checking in Lost/Long Overdue/Lost and Paid
items with no associated circ when the org unit setting
circ.checkin.lost_zero_balance.do_not_change is set to TRUE

Items can attain this state from migration, or when the associated circ
has been aged.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm

index 73d69ef..7a2958a 100644 (file)
@@ -2678,7 +2678,8 @@ sub do_checkin {
             $copy_circ_lib, 'circ.checkin.lost_zero_balance.do_not_change',
             $self->editor) || 0;
 
-        if ($dont_change_lost_zero) {
+        # Don't assume there's always a circ based on copy status
+        if ($dont_change_lost_zero && $self->circ) {
             my ($obt) = $U->fetch_mbts($self->circ->id, $self->editor);
             $dont_change_lost_zero = 0 if( $obt and $obt->balance_owed != 0 );
         }