New XML API
[koha.git] / reports / inventory.pl
1 #!/usr/bin/perl
2
3 # Copyright 2000-2002 Katipo Communications
4 #
5 # This file is part of Koha.
6 #
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 2 of the License, or (at your option) any later
10 # version.
11 #
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License along with
17 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
18 # Suite 330, Boston, MA  02111-1307 USA
19
20 use strict;
21 use CGI;
22 use C4::Auth;
23 use C4::Context;
24 use C4::Output;
25 use C4::Interface::CGI::Output;
26 use C4::Circulation::Circ2;
27 use C4::Biblio;
28
29 # Fixed variables
30 my $linecolor1='#ffffcc';
31 my $linecolor2='white';
32 my $backgroundimage="/images/background-mem.gif";
33 my $script_name="/cgi-bin/koha/admin/branches.pl";
34 my $pagepagesize=20;
35
36
37 #######################################################################################
38 # Main loop....
39 my $input = new CGI;
40 my $minlocation=$input->param('minlocation');
41 #my $maxlocation=$input->param('maxlocation');
42 #$maxlocation=$minlocation.'Z' unless $maxlocation;
43 my $datelastseen = $input->param('datelastseen');
44 my $offset = $input->param('offset');
45 my $markseen = $input->param('markseen');
46 $offset=0 unless $offset;
47 my $pagesize = $input->param('pagesize');
48 $pagesize=20 unless $pagesize;
49
50 my ($template, $borrowernumber, $cookie)
51     = get_template_and_user({template_name => "reports/inventory.tmpl",
52                              query => $input,
53                              type => "intranet",
54                              authnotrequired => 0,
55                              flagsrequired => {editcatalogue => 1},
56                              debug => 1,
57                              });
58 $template->param(minlocation => $minlocation,
59                                 
60                                 offset => $offset,
61                                 pagesize => $pagesize,
62                                 datelastseen => $datelastseen,
63                                 );
64 if ($markseen) {
65         foreach my $field ($input->param) {
66                 if ($field =~ /SEEN-(.*)/) {
67                         &itemseen($1);
68                         &returnbook($1,"MAIN");
69                 }
70         }
71 }
72 if ($minlocation) {
73         my @results = listitemsforinventory($minlocation,$datelastseen,$offset,$pagesize);
74 ## @results is now a hash of kohaxml
75 ## convert to normal koha hash for the templates
76 my @res;
77 my $i=0;
78 foreach my $xml(@results) {
79
80         my @kohafields; ## just parse the fields required
81         push @kohafields,"title","author","biblionumber","itemnumber","barcode","itemcallnumber";
82         my $dbh=C4::Context->dbh;
83         my ($biblio,@itemrecords) = XMLmarc2koha($dbh,$xml,"",@kohafields);
84                  foreach my $data(@itemrecords){
85                 $data->{title}=$biblio->{title};
86                 $data->{author}=$biblio->{author};
87                 push @res,$data;
88         
89                 }
90 }
91         $template->param(loop =>\@res,
92                                         nextoffset => ($offset+$pagesize),
93                                         prevoffset => ($offset?$offset-$pagesize:0),
94                                         );
95 }
96 output_html_with_http_headers $input, $cookie, $template->output;
97
98 # Local Variables:
99 # tab-width: 8
100 # End: