From d4da25f11b56446bbadafaca522a5a203f715185 Mon Sep 17 00:00:00 2001 From: Kyle M Hall <kyle@bywatersolutions.com> 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 <smcgarvey@pascocountyfl.net> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> --- admin/check_parent_total.pl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/admin/check_parent_total.pl b/admin/check_parent_total.pl index 3b746c1..83fecc2 100755 --- a/admin/check_parent_total.pl +++ b/admin/check_parent_total.pl @@ -89,6 +89,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.10.4