Bug 16202: GetIssuingCharges should return a collectable amount
Charges should not include elements less than a penny/cent
they are not displayed but can be saved to the database
causing "odd" behaviour down the line
Make the routine round the resultant charge to nearest cent,
so consistent values are returned.
Removed the one case where it was rounded post call.
Although the main danger is values generated by the discount
calculation apply the rounding to all returned charges in case
the item charge is defined using the 3rd or 4th decimal
places.
NOTE: prove -v t/db_dependent/Circulation.t triggers the change.
Though, all the returned amounts are 0.00 only.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit d84ed89557)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
This commit is contained in:
parent
1a565cf3c8
commit
ea70d6dfdf
|
|
@ -909,7 +909,6 @@ sub CanBookBeIssued {
|
|||
if ( $rentalConfirmation ){
|
||||
my ($rentalCharge) = GetIssuingCharges( $item->{'itemnumber'}, $borrower->{'borrowernumber'} );
|
||||
if ( $rentalCharge > 0 ){
|
||||
$rentalCharge = sprintf("%.02f", $rentalCharge);
|
||||
$needsconfirmation{RENTALCHARGE} = $rentalCharge;
|
||||
}
|
||||
}
|
||||
|
|
@ -3133,6 +3132,9 @@ sub GetIssuingCharges {
|
|||
my $discount = _get_discount_from_rule($discount_rules, $branch, $item_type);
|
||||
$charge = ( $charge * ( 100 - $discount ) ) / 100;
|
||||
}
|
||||
if ($charge) {
|
||||
$charge = sprintf '%.2f', $charge; # ensure no fractions of a penny returned
|
||||
}
|
||||
}
|
||||
|
||||
return ( $charge, $item_type );
|
||||
|
|
|
|||
Loading…
Reference in New Issue