Bug 10671: Update Admin Help Files
[koha.git] / acqui / invoices.pl
index fab7837..451cf05 100755 (executable)
@@ -33,111 +33,108 @@ use CGI;
 use C4::Auth;
 use C4::Output;
 
-use C4::Acquisition;
+use C4::Acquisition qw/GetInvoices/;
 use C4::Bookseller qw/GetBookSeller/;
-use C4::Branch;
-
-my $input = new CGI;
-my ($template, $loggedinuser, $cookie, $flags) = get_template_and_user( {
-    template_name   => 'acqui/invoices.tmpl',
-    query           => $input,
-    type            => 'intranet',
-    authnotrequired => 0,
-    flagsrequired   => { 'acquisition' => '*' },
-    debug           => 1,
-} );
-
-my $invoicenumber   = $input->param('invoicenumber');
-my $supplier        = $input->param('supplier');
+use C4::Branch qw/GetBranches/;
+use C4::Budgets;
+
+my $input = CGI->new;
+my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
+    {
+        template_name   => 'acqui/invoices.tmpl',
+        query           => $input,
+        type            => 'intranet',
+        authnotrequired => 0,
+        flagsrequired   => { 'acquisition' => '*' },
+        debug           => 1,
+    }
+);
+
+my $invoicenumber    = $input->param('invoicenumber');
+my $supplierid       = $input->param('supplierid');
 my $shipmentdatefrom = $input->param('shipmentdatefrom');
-my $shipmentdateto  = $input->param('shipmentdateto');
-my $billingdatefrom = $input->param('billingdatefrom');
-my $billingdateto   = $input->param('billingdateto');
-my $isbneanissn     = $input->param('isbneanissn');
-my $title           = $input->param('title');
-my $author          = $input->param('author');
-my $publisher       = $input->param('publisher');
-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(
-        invoicenumber => $invoicenumber,
-        suppliername => $supplier,
+my $shipmentdateto   = $input->param('shipmentdateto');
+my $billingdatefrom  = $input->param('billingdatefrom');
+my $billingdateto    = $input->param('billingdateto');
+my $isbneanissn      = $input->param('isbneanissn');
+my $title            = $input->param('title');
+my $author           = $input->param('author');
+my $publisher        = $input->param('publisher');
+my $publicationyear  = $input->param('publicationyear');
+my $branch           = $input->param('branch');
+my $op               = $input->param('op');
+
+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,
-        shipmentdateto => $shipmentdateto_iso,
-        billingdatefrom => $billingdatefrom_iso,
-        billingdateto => $billingdateto_iso,
-        isbneanissn => $isbneanissn,
-        title => $title,
-        author => $author,
-        publisher => $publisher,
-        publicationyear => $publicationyear,
-        branchcode => $branch
+        shipmentdateto   => $shipmentdateto_iso,
+        billingdatefrom  => $billingdatefrom_iso,
+        billingdateto    => $billingdateto_iso,
+        isbneanissn      => $isbneanissn,
+        title            => $title,
+        author           => $author,
+        publisher        => $publisher,
+        publicationyear  => $publicationyear,
+        branchcode       => $branch
     );
-    foreach (@invoices) {
-        my %row = (
-            invoiceid       => $_->{invoiceid},
-            billingdate     => $_->{billingdate},
-            invoicenumber   => $_->{invoicenumber},
-            suppliername    => $_->{suppliername},
-            receivedbiblios => $_->{receivedbiblios},
-            receiveditems   => $_->{receiveditems},
-            subscriptionid  => $_->{subscriptionid},
-            closedate => $_->{closedate},
-        );
-        push @results_loop, \%row;
-    }
 }
 
-
 # Build suppliers list
-my @suppliers = GetBookSeller(undef);
-my @suppliers_loop = ();
+my @suppliers      = GetBookSeller(undef);
+my $suppliers_loop = [];
 my $suppliername;
 foreach (@suppliers) {
     my $selected = 0;
-    if ($supplier && $supplier == $_->{'id'}) {
+    if ($supplierid && $supplierid == $_->{id} ) {
         $selected = 1;
-        $suppliername = $_->{'name'};
+        $suppliername = $_->{name};
     }
-    my %row = (
-        suppliername => $_->{'name'},
-        supplierid   => $_->{'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      = GetBranches();
+my $branches_loop = [];
 my $branchname;
-foreach (sort keys %$branches) {
+foreach ( sort keys %$branches ) {
     my $selected = 0;
-    if ($branch && $branch eq $_) {
-        $selected = 1;
+    if ( $branch && $branch eq $_ ) {
+        $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,
+    do_search => ( $op and $op eq 'do_search' ) ? 1 : 0,
+    invoices => $invoices,
     invoicenumber   => $invoicenumber,
-    supplier        => $supplier,
+    booksellerid    => $supplierid,
     suppliername    => $suppliername,
     billingdatefrom => $billingdatefrom,
     billingdateto   => $billingdateto,
@@ -148,9 +145,8 @@ $template->param(
     publicationyear => $publicationyear,
     branch          => $branch,
     branchname      => $branchname,
-    suppliers_loop  => \@suppliers_loop,
-    branches_loop   => \@branches_loop,
-    DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
+    suppliers_loop  => $suppliers_loop,
+    branches_loop   => $branches_loop,
 );
 
 output_html_with_http_headers $input, $cookie, $template->output;