bug4438/MT5496 budget Exceeds total allocation

This is a followup :
When editing a budget, the check for the total allocation would take into account the budget itself.
Showing an improper error message
The problem was solved when adding a child budget but not when editing the same budget.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
Henri-Damien LAURENT 2011-03-13 20:52:44 +01:00 committed by Chris Cormack
parent 9bf9e2d9b4
commit 3e297c6cb8
1 changed files with 16 additions and 4 deletions

View File

@ -62,7 +62,13 @@ my ($sub_unalloc , $period_sum, $budget_period_unalloc);
if ($parent) {
my $query = " SELECT SUM(budget_amount) as sum FROM aqbudgets where budget_parent_id = ? ";
my $sth = $dbh->prepare($query);
$sth->execute( $parent->{'budget_id'} );
my @sql_params;
push @sql_params, $parent->{'budget_id'} ;
if ($budget_id){
$query.=qq| and budget_id <> ? |;
push @sql_params,$budget_id;
}
$sth->execute( @sql_params );
my $sum = $sth->fetchrow_hashref;
$sth->finish;
@ -75,10 +81,16 @@ if ($parent) {
# ELSE , IF NO PARENT PASSED, THEN CHECK UNALLOCATED FOR PERIOD, IF NOT THEN RETURN 2
else {
my $query = qq| SELECT SUM(budget_amount) as sum
FROM aqbudgets WHERE budget_period_id = ? and budget_parent_id IS NULL|;
FROM aqbudgets WHERE budget_period_id = ? and budget_parent_id IS NULL |;
my @sql_params;
push @sql_params, $period_id;
if ($budget_id){
$query.=qq| and budget_id <> ? |;
push @sql_params,$budget_id;
}
my $sth = $dbh->prepare($query);
$sth->execute( $period_id );
my $sth = $dbh->prepare($query);
$sth->execute(@sql_params);
$period_sum = $sth->fetchrow_hashref;
$sth->finish;
$budget_period_unalloc = $period->{'budget_period_total'} - $period_sum->{'sum'} if $period->{'budget_period_total'};