Bug 11644: fix occasional failure to update fund amount due to floating-point math
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> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
a97f21ad3b
commit
ba689152e4
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue