summaryrefslogtreecommitdiff
path: root/httemplate/edit/process/quick-charge.cgi
diff options
context:
space:
mode:
authorivan <ivan>2002-06-26 01:35:08 +0000
committerivan <ivan>2002-06-26 01:35:08 +0000
commitecb895ccbbf52ed2babc0885c9925022175e33a0 (patch)
treeb7bcc155a0c7f578c2015f3fd77c3180bb3ec462 /httemplate/edit/process/quick-charge.cgi
parentd17a7cdeed4fbd901084369347b56d3d4f02c11b (diff)
working one-time charges
Diffstat (limited to 'httemplate/edit/process/quick-charge.cgi')
-rw-r--r--httemplate/edit/process/quick-charge.cgi27
1 files changed, 27 insertions, 0 deletions
diff --git a/httemplate/edit/process/quick-charge.cgi b/httemplate/edit/process/quick-charge.cgi
new file mode 100644
index 000000000..49175d848
--- /dev/null
+++ b/httemplate/edit/process/quick-charge.cgi
@@ -0,0 +1,27 @@
+<%
+
+#untaint custnum
+$cgi->param('custnum') =~ /^(\d+)$/
+ or die 'illegal custnum '. $cgi->param('custnum');
+my $custnum = $1;
+
+$cgi->param('amount') =~ /^\s*(\d+(\.\d{1,2})?)\s*$/
+ or die 'illegal amount '. $cgi->param('amount');
+my $amount = $1;
+
+my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } )
+ or die "unknown custnum $custnum";
+
+my $error = $cust_main->charge( $amount, $cgi->param('pkg') );
+
+if ($error) {
+%>
+<!-- mason kludge -->
+<%
+ eidiot($error);
+} else {
+ print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum" );
+}
+
+%>
+