Bug 23846: Add a check to the data inconsistencies script
[koha.git] / serials / acqui-search-result.pl
1 #!/usr/bin/perl
2
3 #script to show suppliers and orders
4 #written by chris@katipo.co.nz 23/2/2000
5
6 # Copyright 2000-2002 Katipo Communications
7 #
8 # This file is part of Koha.
9 #
10 # Koha is free software; you can redistribute it and/or modify it
11 # under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 3 of the License, or
13 # (at your option) any later version.
14 #
15 # Koha is distributed in the hope that it will be useful, but
16 # WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with Koha; if not, see <http://www.gnu.org/licenses>.
22
23
24 =head1 NAME
25
26 acqui-search-result.pl
27
28 =head1 DESCRIPTION
29
30  TODO
31
32 =head1 PARAMETERS
33
34 =over 4
35
36 =item supplier
37
38 =back
39
40 =cut
41
42
43 use Modern::Perl;
44 use C4::Auth;
45 use C4::Biblio;
46 use C4::Output;
47 use CGI qw ( -utf8 );
48 use C4::Acquisition qw( SearchOrders );
49 use Koha::DateUtils;
50
51 use Koha::Acquisition::Booksellers;
52
53 my $query=new CGI;
54 my ($template, $loggedinuser, $cookie)
55     = get_template_and_user({template_name => "serials/acqui-search-result.tt",
56                  query => $query,
57                  type => "intranet",
58                  authnotrequired => 0,
59                  flagsrequired => {serials => '*'},
60                  debug => 1,
61                  });
62
63 my $supplier=$query->param('supplier');
64 my @suppliers = Koha::Acquisition::Booksellers->search(
65                     { name     => { -like => "%$supplier%" } },
66                     { order_by => { -asc => 'name' } } );
67
68 #build result page
69 my $loop_suppliers = [];
70 for my $s (@suppliers) {
71     my $orders = SearchOrders({
72         booksellerid => $s->id,
73         pending => 1
74     });
75
76     my $loop_basket = [];
77     for my $ord ( @{$orders} ) {
78         push @{$loop_basket}, {
79             basketno     => $ord->{'basketno'},
80             total        => $ord->{'count(*)'},
81             authorisedby => $ord->{'authorisedby'},
82             creationdate => output_pref( { str => $ord->{'creationdate'} } ),
83             closedate    => output_pref( { str => $ord->{'closedate'} } ),
84         };
85     }
86     push @{$loop_suppliers}, {
87         loop_basket => $loop_basket,
88         aqbooksellerid => $s->id,
89         name => $s->name,
90         active => $s->active,
91     };
92 }
93
94 $template->param(loop_suppliers => $loop_suppliers,
95                         supplier => $supplier,
96                         count => scalar @suppliers);
97
98 output_html_with_http_headers $query, $cookie, $template->output;