new feature : stocktaking/inventory.
[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 HTML::Template;
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                                 maxlocation => $maxlocation,
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                 }
69         }
70 }
71 if ($minlocation) {
72         my $res = C4::Circulation::Circ2::listitemsforinventory($minlocation,$maxlocation,$datelastseen,$offset,$pagesize);
73         $template->param(loop =>$res,
74                                         nextoffset => ($offset+$pagesize),
75                                         prevoffset => ($offset?$offset-$pagesize:0),
76                                         );
77 }
78 output_html_with_http_headers $input, $cookie, $template->output;
79
80 # Local Variables:
81 # tab-width: 8
82 # End: