From cb0862db678bc7e36433ba917f329350c38ea2bd Mon Sep 17 00:00:00 2001 From: Robin Sheat Date: Thu, 29 Jul 2010 16:10:52 +1200 Subject: [PATCH] Bug 5072 - prevent creating new orders if there are no valid budgets On the basket editing screen, the links to add orders to a basket are hidden unless a valid fund is available. Signed-off-by: Katrin Fischer Signed-off-by: Paul Poulain Signed-off-by: Chris Cormack (cherry picked from commit 4833fd83998e3b4d95c7db4905eaddda28012976) Signed-off-by: Chris Nighswonger --- C4/Budgets.pm | 12 ++++++------ acqui/basket.pl | 13 +++++++++++++ acqui/neworderempty.pl | 2 +- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/C4/Budgets.pm b/C4/Budgets.pm index d2010d06a4..ebf92b795b 100644 --- a/C4/Budgets.pm +++ b/C4/Budgets.pm @@ -663,11 +663,11 @@ sub GetBudget { return $result; } -=head2 GetBudgets +=head2 GetChildBudgetsSpent - &GetBudgets($filter, $order_by); + &GetChildBudgetsSpent($budget-id); -gets all budgets +gets the total spent of the level and sublevels of $budget_id =cut @@ -690,11 +690,11 @@ sub GetChildBudgetsSpent { return $total_spent; } -=head2 GetChildBudgetsSpent +=head2 GetBudgets - &GetChildBudgetsSpent($budget-id); + &GetBudgets($filter, $order_by); -gets the total spent of the level and sublevels of $budget_id +gets all budgets =cut diff --git a/acqui/basket.pl b/acqui/basket.pl index 0261e8622e..fbe16cbd50 100755 --- a/acqui/basket.pl +++ b/acqui/basket.pl @@ -291,6 +291,18 @@ if ( $op eq 'delete_confirm' ) { my $contract = &GetContract($basket->{contractnumber}); my @orders = GetOrders($basketno); + + my $borrower= GetMember('borrowernumber' => $loggedinuser); + my $budgets = GetBudgetHierarchy(q{},$borrower->{branchcode},$borrower->{borrowernumber}); + my $has_budgets = 0; + foreach my $r (@{$budgets}) { + if (!defined $r->{budget_amount} || $r->{budget_amount} == 0) { + next; + } + $has_budgets = 1; + last; + } + $template->param( basketno => $basketno, basketname => $basket->{'basketname'}, @@ -321,6 +333,7 @@ if ( $op eq 'delete_confirm' ) { basketgroups => $basketgroups, grouped => $basket->{basketgroupid}, unclosable => @orders ? 0 : 1, + has_budgets => $has_budgets, ); } diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl index db3e852c75..c7d6083b79 100755 --- a/acqui/neworderempty.pl +++ b/acqui/neworderempty.pl @@ -93,7 +93,7 @@ use C4::ImportBatch qw/GetImportRecordMarc SetImportRecordStatus/; my $input = new CGI; my $booksellerid = $input->param('booksellerid'); # FIXME: else ERROR! -my $budget_id = $input->param('budget_id') || 0; # FIXME: else ERROR! +my $budget_id = $input->param('budget_id') || 0; my $title = $input->param('title'); my $author = $input->param('author'); my $publicationyear = $input->param('publicationyear'); -- 2.39.5