From d7a03fd69a95126a858c36cfe620d9c4511b7e38 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 30 Jan 2014 12:39:19 -0500 Subject: [PATCH] Bug 11644 - Cannot update fund if total is equal to amount unallocated When attempting to update a fund, if the amount unalloccated for the fund is equal to the total, you can be prevented from saving. This is due to imprecise floating point number comparison in check_parent_total.pl Test Plan: 1) Create a fund where the amount unallocated is equal to the amount unallocated for the budget period 2) Edit the fund, attempt to change the name of the fund 3) Note you recieve an error and cannot save 4) Apply this patch 5) Repeat step 2 6) Note you can now update the fund Signed-off-by: Sean McGarvey --- admin/check_parent_total.pl | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/admin/check_parent_total.pl b/admin/check_parent_total.pl index f0f8c9b..653a9f2 100755 --- a/admin/check_parent_total.pl +++ b/admin/check_parent_total.pl @@ -96,6 +96,10 @@ else { $budget_period_unalloc = $period->{'budget_period_total'} - $period_sum->{'sum'} if $period->{'budget_period_total'}; } +$total = sprintf( "%.2f", $total ); +$sub_unalloc = sprintf( "%.2f", $sub_unalloc ); +$budget_period_unalloc = sprintf( "%.2f", $budget_period_unalloc ); + if ( $parent_id) { if ( ($total > $sub_unalloc ) && $sub_unalloc ) { $returncode = 1; -- 1.7.2.5