Calculate penalties when marking items lost
authorJason Etheridge <jason@esilibrary.com>
Thu, 8 Sep 2011 20:08:30 +0000 (16:08 -0400)
committerBill Erickson <berick@esilibrary.com>
Thu, 8 Sep 2011 20:41:58 +0000 (16:41 -0400)
For example, if you a max fines threshold of $10, and a lost processing fee of
$50, currently if you mark an item lost (or an item ages to lost) and a patron
gets billed that $50, they won't automatically have the max fines penalty.  This
change calculates such penalties at the time a copy is marked and lost and money
is juggled, within the same transaction.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm

index 81cabe7..80b6423 100644 (file)
@@ -580,5 +580,8 @@ sub set_item_lost {
     my $ses = OpenSRF::AppSession->create('open-ils.trigger');
     $ses->request('open-ils.trigger.event.autocreate', 'lost', $circ, $circ->circ_lib);
 
+    my $evt2 = OpenILS::Utils::Penalty->calculate_penalties($e, $circ->usr, $U->xact_org($circ->id,$e));
+    return $evt2 if $evt2;
+
     return undef;
 }