3 # This file is part of Koha.
5 # Copyright 2004 Biblibre
6 # Parts copyright 2011 Catalyst IT Ltd.
8 # Koha is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 3 of the License, or
11 # (at your option) any later version.
13 # Koha is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with Koha; if not, see <http://www.gnu.org/licenses>.
27 this script offer a interface to search among order.
34 if the script has to filter the results on title.
37 if the script has to filter the results on author.
40 if the script has to filter the results on supplier.
43 to filter on started date.
46 to filter on ended date.
53 #use warnings; FIXME - Bug 2505
55 use C4
::Auth
; # get_template_and_user
64 my $title = $input->param( 'title');
65 my $author = $input->param('author');
66 my $isbn = $input->param('isbn');
67 my $name = $input->param( 'name' );
68 my $ean = $input->param('ean');
69 my $basket = $input->param( 'basket' );
70 my $basketgroupname = $input->param('basketgroupname');
71 my $booksellerinvoicenumber = $input->param( 'booksellerinvoicenumber' );
72 my $do_search = $input->param('do_search') || 0;
73 my $from_placed_on = C4
::Dates
->new($input->param('from'));
74 my $to_placed_on = C4
::Dates
->new($input->param('to'));
75 my $budget = $input->param( 'budget' );
76 my $orderstatus = $input->param( 'orderstatus' );
77 my $ordernumber = $input->param( 'ordernumber' );
78 my $search_children_too = $input->param( 'search_children_too' );
80 if ( not $input->param('from') ) {
81 # FIXME Dirty but we can't sent a Date::Calc to C4::Dates ?
82 # We would use a function like Add_Delta_YM(-1, 0, 0);
83 $$from_placed_on{dmy_arrayref
}[5] -= 1;
86 my $dbh = C4
::Context
->dbh;
87 my ( $template, $loggedinuser, $cookie ) = get_template_and_user
(
89 template_name
=> "acqui/histsearch.tt",
93 flagsrequired
=> { acquisition
=> '*' },
98 my ( $from_iso, $to_iso, $d );
99 if ( $d = $input->param('from') ) {
100 $from_iso = C4
::Dates
->new($d)->output('iso');
102 if ( $d = $input->param('iso') ) {
103 $to_iso = C4
::Dates
->new($d)->output('iso');
107 # If we're supplied any value then we do a search. Otherwise we don't.
109 $order_loop = GetHistory
(
115 from_placed_on
=> $from_iso,
116 to_placed_on
=> $to_iso,
118 booksellerinvoicenumber
=> $booksellerinvoicenumber,
119 basketgroupname
=> $basketgroupname,
121 orderstatus
=> $orderstatus,
122 ordernumber
=> $ordernumber,
123 search_children_too
=> $search_children_too,
127 my $from_date = $from_placed_on ?
$from_placed_on->output('syspref') : undef;
128 my $to_date = $to_placed_on ?
$to_placed_on->output('syspref') : undef;
130 my $budgetperiods = C4
::Budgets
::GetBudgetPeriods
;
131 my $bp_loop = $budgetperiods;
132 for my $bp ( @
{$budgetperiods} ) {
133 my $hierarchy = C4
::Budgets
::GetBudgetHierarchy
( $$bp{budget_period_id
} );
134 for my $budget ( @
{$hierarchy} ) {
135 $$budget{budget_display_name
} = sprintf("%s", ">" x
$$budget{depth
} . $$budget{budget_name
});
137 $$bp{hierarchy
} = $hierarchy;
141 order_loop
=> $order_loop,
142 numresults
=> $order_loop ?
scalar(@
$order_loop) : undef,
149 booksellerinvoicenumber
=> $booksellerinvoicenumber,
150 basketgroupname
=> $basketgroupname,
151 ordernumber
=> $ordernumber,
152 search_children_too
=> $search_children_too,
153 from_placed_on
=> $from_date,
154 to_placed_on
=> $to_date,
155 orderstatus
=> $orderstatus,
156 budget_id
=> $budget,
158 search_done
=> $do_search,
159 debug
=> $debug || $input->param('debug') || 0,
160 uc(C4
::Context
->preference("marcflavour")) => 1
163 output_html_with_http_headers
$input, $cookie, $template->output;