summaryrefslogtreecommitdiff
path: root/htdocs/misc/bill.cgi
blob: d41f6d1c946ae0514083cca1d9c3ce78e67f3fbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/perl -Tw
#
# s/FS:Search/FS::Record/ and cgisuidsetup($cgi) ivan@sisd.com 98-mar-13
#
# Changes to allow page to work at a relative position in server
#       bmccane@maxbaud.net     98-apr-3

use strict;
use CGI::Base qw(:DEFAULT :CGI);
use CGI::Carp qw(fatalsToBrowser);
use FS::UID qw(cgisuidsetup);
use FS::Record qw(qsearchs);
use FS::Bill;

my($cgi) = new CGI::Base;
$cgi->get;
&cgisuidsetup($cgi);

#untaint custnum
$QUERY_STRING =~ /^(\d*)$/;
my($custnum)=$1;
my($cust_main)=qsearchs('cust_main',{'custnum'=>$custnum});
die "Can't find customer!\n" unless $cust_main;

# ? 
bless($cust_main,"FS::Bill");

my($error);

$error = $cust_main->bill(
#                          'time'=>$time
                         );
&idiot($error) if $error;

$error = $cust_main->collect(
#                             'invoice-time'=>$time,
#                             'batch_card'=> 'yes',
                             'batch_card'=> 'no',
                             'report_badcard'=> 'yes',
                            );
&idiot($error) if $error;

$cgi->redirect("../view/cust_main.cgi?$custnum#history");

sub idiot {
  my($error)=@_;
  CGI::Base::SendHeaders(); # one guess
  print <<END;
<HTML>
  <HEAD>
    <TITLE>Error billing customer</TITLE>
  </HEAD>
  <BODY>
    <CENTER>
    <H4>Error billing customer</H4>
    </CENTER>
    Your update did not occur because of the following error:
    <P><B>$error</B>
  </BODY>
</HTML>
END

  exit;

}