Bug 27079: Floating point comparison correction
We cannot compare calculated values directly as those calculations may have introduced floating point differences. We have the Koha::Number::Price->round function to consistently round the floating point number to a decimal with 2 points precission for comparison. Test plan 1/ Set a circ rule to have a .15 per day fine and enable finesMode syspref. 2/ Issue an item of this type to a borrower (making it 12 days overdue by setting the due date to 12 days in the past) 3/ Run the fines job: 4/ Pay the fine for the patron 5/ Check in the item 6/ Note that the patron does not have an 'Overpayment refund' of $0.00 Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Bug 27079: (QA follow-up) Round both sides for clarity Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> (cherry picked from commitf99a22f276) Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> (cherry picked from commit198c3be9f0) Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
This commit is contained in:
parent
fb5bd1de68
commit
f8b7a36a08
|
|
@ -568,7 +568,7 @@ sub UpdateFine {
|
|||
}
|
||||
|
||||
if ( $accountline ) {
|
||||
if ( $accountline->amount != $amount ) {
|
||||
if ( Koha::Number::Price->new($accountline->amount)->round != Koha::Number::Price->new($amount)->round ) {
|
||||
$accountline->adjust(
|
||||
{
|
||||
amount => $amount,
|
||||
|
|
|
|||
Loading…
Reference in New Issue