Bug 17182: (QA follow-up) Fix call to GetMarcBiblio
[koha.git] / acqui / neworderempty.pl
index b76b4f4..ab92985 100755 (executable)
@@ -90,6 +90,7 @@ use C4::ImportBatch qw/GetImportRecordMarc SetImportRecordStatus/;
 use Koha::Acquisition::Booksellers;
 use Koha::Acquisition::Currencies;
 use Koha::ItemTypes;
+use Koha::Patrons;
 
 our $input           = new CGI;
 my $booksellerid    = $input->param('booksellerid');   # FIXME: else ERROR!
@@ -129,6 +130,7 @@ if(!$basketno) {
 }
 
 our $basket = GetBasket($basketno);
+my $basketobj = Koha::Acquisition::Baskets->find( $basketno );
 $booksellerid = $basket->{booksellerid} unless $booksellerid;
 my $bookseller = Koha::Acquisition::Booksellers->find( $booksellerid );
 
@@ -153,10 +155,10 @@ if ( $ordernumber eq '' and defined $params->{'breedingid'}){
 #look for duplicates
     ($biblionumber,$duplicatetitle) = FindDuplicate($marcrecord);
     if($biblionumber && !$input->param('use_external_source')) {
-       #if duplicate record found and user did not decide yet, first warn user
-       #and let him choose between using new record or existing record
-       Load_Duplicate($duplicatetitle);
-       exit;
+        #if duplicate record found and user did not decide yet, first warn user
+        #and let them choose between using a new record or an existing record
+        Load_Duplicate($duplicatetitle);
+        exit;
     }
     #from this point: add a new record
         if (C4::Context->preference("BiblioAddsAuthorities")){
@@ -198,8 +200,9 @@ else {    #modify order
 
     @order_user_ids = GetOrderUsers($ordernumber);
     foreach my $order_user_id (@order_user_ids) {
-        my $order_user = GetMember(borrowernumber => $order_user_id);
-        push @order_users, $order_user if $order_user;
+        # FIXME Could be improved with search -in
+        my $order_patron = Koha::Patrons->find( $order_user_id );
+        push @order_users, $order_patron if $order_patron;
     }
 }
 
@@ -210,16 +213,15 @@ my @currencies = Koha::Acquisition::Currencies->search;
 my $active_currency = Koha::Acquisition::Currencies->get_active;
 
 # build bookfund list
-my $borrower= GetMember('borrowernumber' => $loggedinuser);
-my ( $flags, $homebranch )= ($borrower->{'flags'},$borrower->{'branchcode'});
+my $patron = Koha::Patrons->find( $loggedinuser )->unblessed;
 
 my $budget =  GetBudget($budget_id);
 # build budget list
 my $budget_loop = [];
 my $budgets = GetBudgetHierarchy;
 foreach my $r (@{$budgets}) {
-    next unless (CanUserUseBudget($borrower, $r, $userflags));
-    if (!defined $r->{budget_amount} || $r->{budget_amount} == 0) {
+    next unless (CanUserUseBudget($patron, $r, $userflags));
+    if (!defined $r->{budget_amount} || $r->{budget_amount} <0) {
         next;
     }
     push @{$budget_loop}, {
@@ -242,7 +244,7 @@ if ($close) {
 $template->param( sort1 => $data->{'sort1'} );
 $template->param( sort2 => $data->{'sort2'} );
 
-if (C4::Context->preference('AcqCreateItem') eq 'ordering' && !$ordernumber) {
+if ($basketobj->effective_create_items eq 'ordering' && !$ordernumber) {
     # Check if ACQ framework exists
     my $marc = GetMarcStructure(1, 'ACQ', { unsafe => 1 } );
     unless($marc) {
@@ -357,7 +359,7 @@ $template->param(
     barcode_subfield => $barcode_subfield,
     import_batch_id  => $import_batch_id,
     subscriptionid   => $subscriptionid,
-    acqcreate        => C4::Context->preference("AcqCreateItem") eq "ordering" ? 1 : "",
+    acqcreate        => $basketobj->effective_create_items eq "ordering" ? 1 : "",
     users_ids        => join(':', @order_user_ids),
     users            => \@order_users,
     (uc(C4::Context->preference("marcflavour"))) => 1