From 4f1ad01f346690fd3e094b1221c7a285e602d1db Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 3 Jun 2016 11:26:42 -0300 Subject: [PATCH] Bug 14048: Hook new rules into C4::Circulation This patch makes AddIssue and AddReturn use the new implementation The behaviour should respect the specification. Sponsored-by: DoverNet Sponsored-by: South-East Kansas Library System Sponsored-by: SWITCH Library Consortium Signed-off-by: Nick Clemens Signed-off-by: Jason Robb Signed-off-by: Jennifer Schmidt Signed-off-by: Margaret Thrasher --- C4/Circulation.pm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 50e6c10..7fa77da 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -53,6 +53,8 @@ use Koha::Patron::Debarments; use Koha::Database; use Koha::Libraries; use Koha::Holds; +use Koha::RefundLostItemFeeRule; +use Koha::RefundLostItemFeeRules; use Carp; use List::MoreUtils qw( uniq ); use Scalar::Util qw( looks_like_number ); @@ -1437,7 +1439,12 @@ sub AddIssue { ## If item was lost, it has now been found, reverse any list item charges if necessary. if ( $item->{'itemlost'} ) { - if ( C4::Context->preference('RefundLostItemFeeOnReturn' ) ) { + if ( Koha::RefundLostItemFeeRules->should_refund( + current_branch => C4::Context->userenv->{ branch }, + patron_branch => $borrower->{ branchcode }, + item_home_branch => $item->{ homebranch }, + item_holding_branch => $item->{ holdingbranch } + ) ) { _FixAccountForLostAndReturned( $item->{'itemnumber'}, undef, $item->{'barcode'} ); } } @@ -2110,9 +2117,16 @@ sub AddReturn { if ( $item->{'itemlost'} ) { $messages->{'WasLost'} = 1; - if ( C4::Context->preference('RefundLostItemFeeOnReturn' ) ) { - _FixAccountForLostAndReturned($item->{'itemnumber'}, $borrowernumber, $barcode); # can tolerate undef $borrowernumber - $messages->{'LostItemFeeRefunded'} = 1; + if ( $item->{'itemlost'} ) { + if ( Koha::RefundLostItemFeeRules->should_refund( + current_branch => C4::Context->userenv->{ branch }, + patron_branch => $borrower->{ branchcode }, + item_home_branch => $item->{ homebranch }, + item_holding_branch => $item->{ holdingbranch } + ) ) { + _FixAccountForLostAndReturned( $item->{'itemnumber'}, $borrowernumber, $barcode ); + $messages->{'LostItemFeeRefunded'} = 1; + } } } -- 2.1.4