View | Details | Raw Unified | Return to bug 8939
Collapse All | Expand All

(-)a/C4/Overdues.pm (-3 / +2 lines)
Lines 263-272 sub CalcFine { Link Here
263
    my $chargeable_units = _get_chargeable_units($fine_unit, $start_date, $end_date, $branchcode);
263
    my $chargeable_units = _get_chargeable_units($fine_unit, $start_date, $end_date, $branchcode);
264
    my $units_minus_grace = $chargeable_units - $data->{firstremind};
264
    my $units_minus_grace = $chargeable_units - $data->{firstremind};
265
    my $amount = 0;
265
    my $amount = 0;
266
    if ($data->{'chargeperiod'}  && $units_minus_grace  ) {
266
    if ($data->{'chargeperiod'}  && ($units_minus_grace > 0)  ) {
267
        $amount = int($chargeable_units / $data->{'chargeperiod'}) * $data->{'fine'};# TODO fine calc should be in cents
267
        $amount = int($chargeable_units / $data->{'chargeperiod'}) * $data->{'fine'};# TODO fine calc should be in cents
268
    } else {
268
    } else {
269
        # a zero (or null)  chargeperiod means no charge.
269
        # a zero (or null) chargeperiod or negative units_minus_grace value means no charge.
270
    }
270
    }
271
    $amount = $data->{overduefinescap} if $data->{overduefinescap} && $amount > $data->{overduefinescap};
271
    $amount = $data->{overduefinescap} if $data->{overduefinescap} && $amount > $data->{overduefinescap};
272
    $debug and warn sprintf("CalcFine returning (%s, %s, %s, %s)", $amount, $data->{'chargename'}, $units_minus_grace, $chargeable_units);
272
    $debug and warn sprintf("CalcFine returning (%s, %s, %s, %s)", $amount, $data->{'chargename'}, $units_minus_grace, $chargeable_units);
273
- 

Return to bug 8939