Bug 10671: Update Admin Help Files
[koha.git] / acqui / invoices.pl
index 44589ab..451cf05 100755 (executable)
@@ -33,11 +33,12 @@ use CGI;
 use C4::Auth;
 use C4::Output;
 
-use C4::Acquisition;
+use C4::Acquisition qw/GetInvoices/;
 use C4::Bookseller qw/GetBookSeller/;
-use C4::Branch;
+use C4::Branch qw/GetBranches/;
+use C4::Budgets;
 
-my $input = new CGI;
+my $input = CGI->new;
 my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
     {
         template_name   => 'acqui/invoices.tmpl',
@@ -63,13 +64,13 @@ my $publicationyear  = $input->param('publicationyear');
 my $branch           = $input->param('branch');
 my $op               = $input->param('op');
 
-my @results_loop = ();
-if ( $op and $op eq "do_search" ) {
-    my $shipmentdatefrom_iso = C4::Dates->new($shipmentdatefrom)->output("iso");
-    my $shipmentdateto_iso   = C4::Dates->new($shipmentdateto)->output("iso");
-    my $billingdatefrom_iso  = C4::Dates->new($billingdatefrom)->output("iso");
-    my $billingdateto_iso    = C4::Dates->new($billingdateto)->output("iso");
-    my @invoices             = GetInvoices(
+my $invoices = [];
+if ( $op and $op eq 'do_search' ) {
+    my $shipmentdatefrom_iso = C4::Dates->new($shipmentdatefrom)->output('iso');
+    my $shipmentdateto_iso   = C4::Dates->new($shipmentdateto)->output('iso');
+    my $billingdatefrom_iso  = C4::Dates->new($billingdatefrom)->output('iso');
+    my $billingdateto_iso    = C4::Dates->new($billingdateto)->output('iso');
+    @{$invoices} = GetInvoices(
         invoicenumber    => $invoicenumber,
         supplierid       => $supplierid,
         shipmentdatefrom => $shipmentdatefrom_iso,
@@ -83,43 +84,29 @@ if ( $op and $op eq "do_search" ) {
         publicationyear  => $publicationyear,
         branchcode       => $branch
     );
-    foreach (@invoices) {
-        my %row = (
-            invoiceid       => $_->{invoiceid},
-            billingdate     => $_->{billingdate},
-            invoicenumber   => $_->{invoicenumber},
-            suppliername    => $_->{suppliername},
-            booksellerid      => $_->{booksellerid},
-            receivedbiblios => $_->{receivedbiblios},
-            receiveditems   => $_->{receiveditems},
-            subscriptionid  => $_->{subscriptionid},
-            closedate       => $_->{closedate},
-        );
-        push @results_loop, \%row;
-    }
 }
 
 # Build suppliers list
 my @suppliers      = GetBookSeller(undef);
-my @suppliers_loop = ();
+my $suppliers_loop = [];
 my $suppliername;
 foreach (@suppliers) {
     my $selected = 0;
-    if ( $supplierid && $supplierid == $_->{'id'} ) {
-        $selected     = 1;
-        $suppliername = $_->{'name'};
+    if ($supplierid && $supplierid == $_->{id} ) {
+        $selected = 1;
+        $suppliername = $_->{name};
     }
-    my %row = (
-        suppliername => $_->{'name'},
-        booksellerid   => $_->{'id'},
+    push @{$suppliers_loop},
+      {
+        suppliername => $_->{name},
+        booksellerid   => $_->{id},
         selected     => $selected,
-    );
-    push @suppliers_loop, \%row;
+      };
 }
 
 # Build branches list
 my $branches      = GetBranches();
-my @branches_loop = ();
+my $branches_loop = [];
 my $branchname;
 foreach ( sort keys %$branches ) {
     my $selected = 0;
@@ -127,31 +114,39 @@ foreach ( sort keys %$branches ) {
         $selected   = 1;
         $branchname = $branches->{$_}->{'branchname'};
     }
-    my %row = (
+    push @{$branches_loop},
+      {
         branchcode => $_,
-        branchname => $branches->{$_}->{'branchname'},
+        branchname => $branches->{$_}->{branchname},
         selected   => $selected,
-    );
-    push @branches_loop, \%row;
+      };
 }
 
+my $budgets = GetBudgets();
+my @budgets_loop;
+foreach my $budget (@$budgets) {
+    push @budgets_loop, $budget if CanUserUseBudget( $loggedinuser, $budget, $flags );
+}
+
+$template->{'VARS'}->{'budgets_loop'} = \@budgets_loop;
+
 $template->param(
-    do_search => ( $op and $op eq "do_search" ) ? 1 : 0,
-    results_loop             => \@results_loop,
-    invoicenumber            => $invoicenumber,
-    booksellerid             => $supplierid,
-    suppliername             => $suppliername,
-    billingdatefrom          => $billingdatefrom,
-    billingdateto            => $billingdateto,
-    isbneanissn              => $isbneanissn,
-    title                    => $title,
-    author                   => $author,
-    publisher                => $publisher,
-    publicationyear          => $publicationyear,
-    branch                   => $branch,
-    branchname               => $branchname,
-    suppliers_loop           => \@suppliers_loop,
-    branches_loop            => \@branches_loop,
+    do_search => ( $op and $op eq 'do_search' ) ? 1 : 0,
+    invoices => $invoices,
+    invoicenumber   => $invoicenumber,
+    booksellerid    => $supplierid,
+    suppliername    => $suppliername,
+    billingdatefrom => $billingdatefrom,
+    billingdateto   => $billingdateto,
+    isbneanissn     => $isbneanissn,
+    title           => $title,
+    author          => $author,
+    publisher       => $publisher,
+    publicationyear => $publicationyear,
+    branch          => $branch,
+    branchname      => $branchname,
+    suppliers_loop  => $suppliers_loop,
+    branches_loop   => $branches_loop,
 );
 
 output_html_with_http_headers $input, $cookie, $template->output;