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