Bug 5072 - prevent creating new orders if there are no valid budgets
authorRobin Sheat <robin@catalyst.net.nz>
Thu, 29 Jul 2010 04:10:52 +0000 (16:10 +1200)
committerChris Cormack <chrisc@catalyst.net.nz>
Thu, 4 Aug 2011 01:53:59 +0000 (13:53 +1200)
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 <Katrin.Fischer.83@web.de>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
C4/Budgets.pm
acqui/basket.pl
acqui/neworderempty.pl

index d516a12..98e5d63 100644 (file)
@@ -666,11 +666,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
 
@@ -693,11 +693,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
 
index 9cd76d8..303684c 100755 (executable)
@@ -294,6 +294,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'},
@@ -324,6 +336,7 @@ if ( $op eq 'delete_confirm' ) {
         basketgroups         => $basketgroups,
         grouped              => $basket->{basketgroupid},
         unclosable           => @orders ? 0 : 1, 
+        has_budgets          => $has_budgets,
     );
 }
 
index db3e852..c7d6083 100755 (executable)
@@ -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');