Bug 6976 Close loophole allowing borrowers extra holds via opac
[koha.git] / acqui / neworderempty.pl
index 7dc7cb5..a461a1b 100755 (executable)
@@ -110,7 +110,7 @@ my $new = 'no';
 
 my $budget_name;
 
-my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user(
     {
         template_name   => "acqui/neworderempty.tmpl",
         query           => $input,
@@ -251,8 +251,9 @@ my ( $flags, $homebranch )= ($borrower->{'flags'},$borrower->{'branchcode'});
 my $budget =  GetBudget($budget_id);
 # build budget list
 my $budget_loop = [];
-my $budgets = GetBudgetHierarchy(q{},$borrower->{branchcode},$borrower->{borrowernumber});
+my $budgets = GetBudgetHierarchy;
 foreach my $r (@{$budgets}) {
+    next unless (CanUserUseBudget($borrower, $r, $userflags));
     if (!defined $r->{budget_amount} || $r->{budget_amount} == 0) {
         next;
     }
@@ -372,6 +373,7 @@ $template->param(
     editionstatement => $data->{'editionstatement'},
     budget_loop      => $budget_loop,
     isbn             => $data->{'isbn'},
+    ean              => $data->{'ean'},
     seriestitle      => $data->{'seriestitle'},
     itemtypeloop     => \@itemtypes,
     quantity         => $data->{'quantity'},
@@ -380,7 +382,7 @@ $template->param(
     listprice        => sprintf("%.2f", $data->{'listprice'}||$data->{'price'}||$listprice),
     total            => sprintf("%.2f", ($data->{'ecost'}||0)*($data->{'quantity'}||0) ),
     ecost            => $data->{'ecost'},
-    unitprice        => sprintf("%.2f", $data->{'unitprice'}),
+    unitprice        => sprintf("%.2f", $data->{'unitprice'}||0),
     notes            => $data->{'notes'},
     publishercode    => $data->{'publishercode'},
     barcode_subfield => $barcode_subfield,
@@ -390,6 +392,7 @@ $template->param(
 # CHECKME: gst-stuff needs verifing, mason.
     gstrate          => $bookseller->{'gstrate'} // C4::Context->preference("gist") // 0,
     gstreg           => $bookseller->{'gstreg'},
+    (uc(C4::Context->preference("marcflavour"))) => 1
 );
 
 output_html_with_http_headers $input, $cookie, $template->output;
@@ -521,6 +524,7 @@ sub Load_Duplicate {
     booksellerid        => $basket->{'booksellerid'},
     breedingid          => $params->{'breedingid'},
     duplicatetitle      => $duplicatetitle,
+    (uc(C4::Context->preference("marcflavour"))) => 1
   );
 
   output_html_with_http_headers $input, $cookie, $template->output;