fix date parsing when using international dates (package date edit), RT#8027
[freeside.git] / httemplate / edit / process / quick-charge.cgi
index 839a4e9..484f6fc 100644 (file)
@@ -27,7 +27,7 @@ $param->{"custnum"} =~ /^(\d+)$/
   or $error .= "Illegal customer number " . $param->{"custnum"} . "  ";
 my $custnum = $1;
 
-$param->{"amount"} =~ /^\s*(\d+(\.\d{1,2})?)\s*$/
+$param->{"amount"} =~ /^\s*(\d*(?:\.?\d{1,2}))\s*$/
   or $error .= "Illegal amount " . $param->{"amount"} . "  ";
 my $amount = $1;
 
@@ -53,14 +53,22 @@ unless ( $error ) {
     or $error .= "Unknown customer number $custnum.  ";
 
   $error ||= $cust_main->charge( {
-    'amount'     => $amount,
-    'quantity'   => $quantity,
-    'pkg'        => scalar($cgi->param('pkg')),
-    'taxclass'   => scalar($cgi->param('taxclass')),
+    'amount'        => $amount,
+    'quantity'      => $quantity,
+    'bill_now'      => scalar($cgi->param('bill_now')),
+    'invoice_terms' => scalar($cgi->param('invoice_terms')),
+    'start_date'    => ( scalar($cgi->param('start_date'))
+                           ? parse_datetime($cgi->param('start_date'))
+                           : ''
+                       ),
+    'no_auto'       => scalar($cgi->param('no_auto')),
+    'pkg'           => scalar($cgi->param('pkg')),
+    'setuptax'      => scalar($cgi->param('setuptax')),
+    'taxclass'      => scalar($cgi->param('taxclass')),
     'taxproductnum' => scalar($cgi->param('taxproductnum')),
-    'tax_override' => $override,
-    'classnum'   => scalar($cgi->param('classnum')),
-    'additional' => \@description,
+    'tax_override'  => $override,
+    'classnum'      => scalar($cgi->param('classnum')),
+    'additional'    => \@description,
   } );
 }