initial checkin of module files for proper perl installation
[freeside.git] / htdocs / misc / print-invoice.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: print-invoice.cgi,v 1.4 1999-01-19 05:14:07 ivan Exp $
4 #
5 # just a kludge for now, since this duplicates in a way it shouldn't stuff from
6 # Bill.pm (like $lpr) ivan@sisd.com 98-jun-16
7 #
8 # $Log: print-invoice.cgi,v $
9 # Revision 1.4  1999-01-19 05:14:07  ivan
10 # for mod_perl: no more top-level my() variables; use vars instead
11 # also the last s/create/new/;
12 #
13 # Revision 1.3  1998/12/23 03:04:24  ivan
14 # $cgi->keywords instead of $cgi->query_string
15 #
16 # Revision 1.2  1998/12/17 09:12:47  ivan
17 # s/CGI::(Request|Base)/CGI.pm/;
18 #
19
20 use strict;
21 use vars qw($conf $cgi $lpr $query $invnum $cust_bill $custnum );
22 use CGI;
23 use CGI::Carp qw(fatalsToBrowser);
24 use FS::UID qw(cgisuidsetup);
25 use FS::CGI qw(popurl);
26 use FS::Record qw(qsearchs);
27 use FS::cust_bill;
28
29 $cgi = new CGI;
30 &cgisuidsetup($cgi);
31
32 $conf = new FS::Conf;
33 $lpr = $conf->config('lpr');
34
35 #untaint invnum
36 ($query) = $cgi->keywords;
37 $query =~ /^(\d*)$/;
38 $invnum = $1;
39 $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum});
40 die "Can't find invoice!\n" unless $cust_bill;
41
42         open(LPR,"|$lpr") or die "Can't open $lpr: $!";
43         print LPR $cust_bill->print_text; #( date )
44         close LPR
45           or die $! ? "Error closing $lpr: $!"
46                        : "Exit status $? from $lpr";
47
48 $custnum = $cust_bill->getfield('custnum');
49
50 print $cgi->redirect(popurl(2). "view/cust_main.cgi?$custnum#history");
51