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