# Copyright 2011 BibLibre SARL
# This file is part of Koha.
#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
=head1 NAME
use strict;
use warnings;
-use CGI;
+use CGI qw ( -utf8 );
use C4::Auth;
use C4::Output;
-use C4::Acquisition;
-use C4::Bookseller qw/GetBookSeller/;
-use C4::Branch;
+use C4::Acquisition qw/GetInvoices/;
+use C4::Branch qw/GetBranches/;
+use C4::Budgets;
+use Koha::DateUtils;
-my $input = new CGI;
+my $input = CGI->new;
my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
{
- template_name => 'acqui/invoices.tmpl',
+ template_name => 'acqui/invoices.tt',
query => $input,
type => 'intranet',
authnotrequired => 0,
my $publisher = $input->param('publisher');
my $publicationyear = $input->param('publicationyear');
my $branch = $input->param('branch');
+my $message_id = $input->param('message_id');
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(
+$shipmentdatefrom and $shipmentdatefrom = eval { dt_from_string( $shipmentdatefrom ) };
+$shipmentdateto and $shipmentdateto = eval { dt_from_string( $shipmentdateto ) };
+$billingdatefrom and $billingdatefrom = eval { dt_from_string( $billingdatefrom ) };
+$billingdateto and $billingdateto = eval { dt_from_string( $billingdateto ) };
+
+my $invoices = [];
+if ( $op and $op eq 'do_search' ) {
+ @{$invoices} = GetInvoices(
invoicenumber => $invoicenumber,
supplierid => $supplierid,
- shipmentdatefrom => $shipmentdatefrom_iso,
- shipmentdateto => $shipmentdateto_iso,
- billingdatefrom => $billingdatefrom_iso,
- billingdateto => $billingdateto_iso,
+ shipmentdatefrom => $shipmentdatefrom ? output_pref( { str => $shipmentdatefrom, dateformat => 'iso' } ) : undef,
+ shipmentdateto => $shipmentdateto ? output_pref( { str => $shipmentdateto, dateformat => 'iso' } ) : undef,
+ billingdatefrom => $billingdatefrom ? output_pref( { str => $billingdatefrom, dateformat => 'iso' } ) : undef,
+ billingdateto => $billingdateto ? output_pref( { str => $billingdateto, dateformat => 'iso' } ) : undef,
isbneanissn => $isbneanissn,
title => $title,
author => $author,
publisher => $publisher,
publicationyear => $publicationyear,
- branchcode => $branch
+ branchcode => $branch,
+ message_id => $message_id,
);
- 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 = Koha::Acquisition::Bookseller->search;
+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;
$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,
+ shipmentdatefrom => $shipmentdatefrom,
+ shipmentdateto => $shipmentdateto,
+ 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;