From 331ca7df3ec351a83982496bed7f103050e89af5 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 4 Feb 2014 12:15:42 +0100 Subject: [PATCH] Bug 11675: check allocated total correctly when editing a fund that has a parent fund The sth was created before the query. The query was modified after the sth creation and an error was raised. Test plan: 0/ Don't apply the patch 1/ Create a budget A (amount=1000) 2/ Create a fund A1 (amount=1000) 3/ Create a child fund A11 (amount=1000) 4/ Edit A11 and change the amount to 2000 You are able to do it, an error appears in the Koha log: "check_parent_total.pl: DBD::mysql::st execute failed: called with 2 bind variables when 1 are needed" 5/ Apply the patch, edit A11 and save. You get an error 6/ Edit A11 and change the amount to <=1000 7/ Verify that there is no regression on adding/removing/editing budgets and funds. Signed-off-by: Kyle M Hall Signed-off-by: Katrin Fischer Passes all tests and QA script. Works as described, no regressions found. Signed-off-by: Galen Charlton --- admin/check_parent_total.pl | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/admin/check_parent_total.pl b/admin/check_parent_total.pl index ce7453a99f..cd3678b389 100755 --- a/admin/check_parent_total.pl +++ b/admin/check_parent_total.pl @@ -61,19 +61,12 @@ 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); 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 $sth = $dbh->prepare($query); + $sth->execute( $parent->{'budget_id'} ); my $sum = $sth->fetchrow_hashref; $sth->finish; - $sub_unalloc = $parent->{'budget_amount'} - $sum->{sum}; - # TRICKY.. , IF THE PARENT IS THE CURRENT PARENT - THEN SUBSTRACT CURRENT BUDGET FROM TOTAL $sub_unalloc += $budget->{'budget_amount'} if ( $budget->{'budget_parent_id'} == $parent_id ) ; } -- 2.39.5