From 0e2c823e8806c35673505d0e2a03081cac00190a Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Fri, 14 Jul 2017 11:25:42 +0000 Subject: [PATCH] Bug 18941 - C4::Budgets GetBudgetByCode should return active budgets over inactive budgets To test: 1 - Create an active budget 2 - Create an inactive budget 3 - Ensure they each have a fund with the same code 4 - Set MarcFieldsToOrder to get the budget_code from a marc field 5 - Stage a file using the duplicated code 6 - Add to a basket from the staged file 7 - Add the items 8 - Note funds are encumbered from the inactive budget 9 - Apply patch 10 - Repeat 5-8 with a new basket 11 - Note the active budget is now used Signed-off-by: Mark Tompsett Signed-off-by: Jonathan Druart Signed-off-by: Jonathan Druart --- C4/Budgets.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/C4/Budgets.pm b/C4/Budgets.pm index bcc84db83a..1c0c201f1f 100644 --- a/C4/Budgets.pm +++ b/C4/Budgets.pm @@ -777,10 +777,11 @@ sub GetBudgetByCode { my $dbh = C4::Context->dbh; my $query = qq{ - SELECT * + SELECT aqbudgets.* FROM aqbudgets + JOIN aqbudgetperiods USING (budget_period_id) WHERE budget_code = ? - ORDER BY budget_id DESC + ORDER BY budget_period_active DESC, budget_id DESC LIMIT 1 }; my $sth = $dbh->prepare( $query ); -- 2.39.5