Lines 240-245
sub CalcFine {
Link Here
|
240 |
my $itemtype = $item->{itemtype} || $item->{itype}; |
240 |
my $itemtype = $item->{itemtype} || $item->{itype}; |
241 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $bortype, itemtype => $itemtype, branchcode => $branchcode }); |
241 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $bortype, itemtype => $itemtype, branchcode => $branchcode }); |
242 |
|
242 |
|
|
|
243 |
$itemtype = Koha::ItemTypes->find($itemtype); |
244 |
|
243 |
return unless $issuing_rule; # If not rule exist, there is no fine |
245 |
return unless $issuing_rule; # If not rule exist, there is no fine |
244 |
|
246 |
|
245 |
my $fine_unit = $issuing_rule->lengthunit || 'days'; |
247 |
my $fine_unit = $issuing_rule->lengthunit || 'days'; |
Lines 257-263
sub CalcFine {
Link Here
|
257 |
} # else { # a zero (or null) chargeperiod or negative units_minus_grace value means no charge. } |
259 |
} # else { # a zero (or null) chargeperiod or negative units_minus_grace value means no charge. } |
258 |
|
260 |
|
259 |
$amount = $issuing_rule->overduefinescap if $issuing_rule->overduefinescap && $amount > $issuing_rule->overduefinescap; |
261 |
$amount = $issuing_rule->overduefinescap if $issuing_rule->overduefinescap && $amount > $issuing_rule->overduefinescap; |
|
|
262 |
|
263 |
# This must be moved to Koha::Item (see also similar code in C4::Accounts::chargelostitem |
264 |
$item->{replacementprice} ||= $itemtype->defaultreplacecost |
265 |
if $itemtype |
266 |
&& $item->{replacementprice} == 0 |
267 |
&& C4::Context->preference("useDefaultReplacementCost"); |
268 |
|
260 |
$amount = $item->{replacementprice} if ( $issuing_rule->cap_fine_to_replacement_price && $item->{replacementprice} && $amount > $item->{replacementprice} ); |
269 |
$amount = $item->{replacementprice} if ( $issuing_rule->cap_fine_to_replacement_price && $item->{replacementprice} && $amount > $item->{replacementprice} ); |
|
|
270 |
|
261 |
$debug and warn sprintf("CalcFine returning (%s, %s, %s, %s)", $amount, $issuing_rule->chargename, $units_minus_grace, $chargeable_units); |
271 |
$debug and warn sprintf("CalcFine returning (%s, %s, %s, %s)", $amount, $issuing_rule->chargename, $units_minus_grace, $chargeable_units); |
262 |
return ($amount, $issuing_rule->chargename, $units_minus_grace, $chargeable_units); |
272 |
return ($amount, $issuing_rule->chargename, $units_minus_grace, $chargeable_units); |
263 |
# FIXME: chargename is NEVER populated anywhere. |
273 |
# FIXME: chargename is NEVER populated anywhere. |
264 |
- |
|
|