RT# 79497 - Changed email address check to all emails to be seperated by a space...
[freeside.git] / httemplate / edit / process / cust_main.cgi
index 6961d18..e3fa4e6 100755 (executable)
@@ -1,5 +1,15 @@
 % if ( $error ) {
 %   $cgi->param('error', $error);
+%   # workaround for create_uri_query's mangling of unicode characters,
+%   # false laziness with FS::Record::ut_coord
+%   use charnames ':full';
+%   for my $pre (qw(bill ship)) {
+%     foreach (qw( latitude longitude)) {
+%       my $coord = $cgi->param($pre.'_'.$_);
+%       $coord =~ s/\N{DEGREE SIGN}\s*$//;
+%       $cgi->param($pre.'_'.$_, $coord);
+%     }
+%   }
 %   my $query = $m->scomp('/elements/create_uri_query', 'secure'=>1);
 <% $cgi->redirect(popurl(2). "cust_main.cgi?$query" ) %>
 %
@@ -52,7 +62,7 @@ if ( $payby ) {
     $cgi->param( 'exp_month' ). '-'. $cgi->param( 'exp_year' ) );
 }
 
-my @invoicing_list = split( /\s*\,\s*/, $cgi->param('invoicing_list') );
+my @invoicing_list = split( /[,\s]+/, $cgi->param('invoicing_list') );
 push @invoicing_list, 'POST' if $cgi->param('invoicing_list_POST');
 push @invoicing_list, 'FAX' if $cgi->param('invoicing_list_FAX');
 $cgi->param('invoicing_list', join(',', @invoicing_list) );
@@ -320,6 +330,7 @@ if ( $new->custnum eq '' or $duplicate_of ) {
      )
   {
     $new->payinfo($old->payinfo);
+    $new->paymask($old->paymask) if ! $new->paymask || $new->paymask =~ /^N\/A/;
 
   } elsif ( $new->payby =~ /^(CHEK|DCHK)$/ && $new->payinfo =~ /xx/ ) {
     #fix for #3085 "edit of customer's routing code only surprisingly causes