yet more mod_perl stuff
[freeside.git] / htdocs / edit / process / cust_pay.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: cust_pay.cgi,v 1.6 1999-01-25 12:19:09 ivan Exp $
4 #
5 # Usage: post form to:
6 #        http://server.name/path/cust_pay.cgi
7 #
8 # Note: Should be run setuid root as user nobody.
9 #
10 # ivan@voicenet.com 96-dec-11
11 #
12 # rewrite ivan@sisd.com 98-mar-16
13 #
14 # Changes to allow page to work at a relative position in server
15 #       bmccane@maxbaud.net     98-apr-3
16 #
17 # $Log: cust_pay.cgi,v $
18 # Revision 1.6  1999-01-25 12:19:09  ivan
19 # yet more mod_perl stuff
20 #
21 # Revision 1.5  1999/01/19 05:13:53  ivan
22 # for mod_perl: no more top-level my() variables; use vars instead
23 # also the last s/create/new/;
24 #
25 # Revision 1.4  1999/01/18 22:47:54  ivan
26 # s/create/new/g; and use fields('table_name')
27 #
28 # Revision 1.3  1998/12/30 23:03:28  ivan
29 # bugfixes; fields isn't exported by derived classes
30 #
31 # Revision 1.2  1998/12/17 08:40:22  ivan
32 # s/CGI::Request/CGI.pm/; etc
33 #
34
35 use strict;
36 use vars qw( $cgi $invnum $new $error );
37 use CGI;
38 use CGI::Carp qw(fatalsToBrowser);
39 use FS::UID qw(cgisuidsetup);
40 use FS::CGI qw(popurl);
41 use FS::Record qw(fields);
42 use FS::cust_pay;
43
44 $cgi = new CGI;
45 &cgisuidsetup($cgi);
46
47 $cgi->param('invnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
48 $invnum = $1;
49
50 $new = new FS::cust_pay ( {
51   map {
52     $_, scalar($cgi->param($_));
53   #} qw(invnum paid _date payby payinfo paybatch)
54   } fields('cust_pay')
55 } );
56
57 $error=$new->insert;
58
59 if ($error) {
60   $cgi->param('error', $error);
61   print $cgi->redirect(popurl(2). 'cust_pay.cgi?'. $cgi->query_string );
62   exit;
63 } else {
64   print $cgi->redirect(popurl(3). "view/cust_bill.cgi?$invnum");
65 }
66