#!/usr/bin/perl # 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 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. =head1 NAME invoices.pl =head1 DESCRIPTION Search for invoices =cut use strict; use warnings; use CGI; use C4::Auth; use C4::Output; use C4::Acquisition qw/GetInvoices/; use C4::Bookseller qw/GetBookSeller/; 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.tt', 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 $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 ); } # Build suppliers list my @suppliers = GetBookSeller(undef); my $suppliers_loop = []; my $suppliername; foreach (@suppliers) { my $selected = 0; if ($supplierid && $supplierid == $_->{id} ) { $selected = 1; $suppliername = $_->{name}; } push @{$suppliers_loop}, { suppliername => $_->{name}, booksellerid => $_->{id}, selected => $selected, }; } # Build branches list my $branches = GetBranches(); my $branches_loop = []; my $branchname; foreach ( sort keys %$branches ) { my $selected = 0; if ( $branch && $branch eq $_ ) { $selected = 1; $branchname = $branches->{$_}->{'branchname'}; } push @{$branches_loop}, { branchcode => $_, branchname => $branches->{$_}->{branchname}, selected => $selected, }; } 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, 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;