2c5ac81b0a983a7dffbb3219cedc7f001e60d5a7
[freeside.git] / httemplate / edit / process / quick-charge.cgi
1 %#untaint custnum
2 %$cgi->param('custnum') =~ /^(\d+)$/
3 %  or die 'illegal custnum '. $cgi->param('custnum');
4 %my $custnum = $1;
5 %
6 %$cgi->param('amount') =~ /^\s*\$?\s*(\d+(\.\d{1,2})?)\s*$/
7 %  or die 'illegal amount '. $cgi->param('amount');
8 %my $amount = $1;
9 %
10 %my( $error, $cust_main);
11 %if ( $cgi->param('taxclass') eq '(select)' ) {
12 %
13 %
14 % $error = 'Must select a tax class';
15 %} else {
16 %
17 %  my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } )
18 %    or die "unknown custnum $custnum";
19 %
20 %  $error = $cust_main->charge(
21 %    $amount,
22 %    $cgi->param('pkg'),
23 %    '$'. sprintf("%.2f",$amount),
24 %    $cgi->param('taxclass')
25 %  );
26 %
27 %}
28 %
29 %if ($error) {
30 %
31
32 <!-- mason kludge -->
33 %
34 %  eidiot($error);
35 %} else {
36 %  print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum" );
37 %}
38 %
39 %
40
41