quiet warnings about CGI::param in list context
[freeside.git] / httemplate / edit / process / cust_main.cgi
index 088576f..18017fd 100755 (executable)
@@ -44,7 +44,7 @@ my $error = '';
 
 $cgi->param('tax','') unless defined $cgi->param('tax');
 
-$cgi->param('refnum', (split(/:/, ($cgi->param('refnum'))[0] ))[0] );
+$cgi->param('refnum', (split(/:/, ($cgi->multi_param('refnum'))[0] ))[0] );
 
 #my @invoicing_list = split( /\s*\,\s*/, $cgi->param('invoicing_list') );
 #push @invoicing_list, 'POST' if $cgi->param('invoicing_list_POST');
@@ -97,6 +97,11 @@ my $new = new FS::cust_main ( {
   (map { ( "ship_$_", '' ) } (FS::cust_main->location_fields))
 } );
 
+# add any virtual fields to the new cust_main record
+foreach ($new->virtual_fields) {
+  $new->setfield($_, scalar($cgi->param($_)));
+}
+
 warn Dumper( $new ) if $DEBUG > 1;
 
 if ( $duplicate_of ) {
@@ -187,7 +192,7 @@ if ( $cgi->param('residential_commercial') eq 'Residential' ) {
     $error = 'Email address required';
   }
 
-  $options{'invoicing_list'} = [ split(/\s*,\s*/, $email) ];
+  $options{'invoicing_list'} = [ split(/[,\s]+/, $email) ];
   # XXX really should include the phone numbers in here also
 
 } else {