X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fedit%2Fprocess%2Fcust_main.cgi;h=ed285ca15e909abc68fde47a3f8d9a00134209f0;hb=1bde07fabf19b6948c3e4173d17b04db396e55bd;hp=715e873771a611db789711a0d56d72aec32f1025;hpb=5fc19693596421fcd080fdf26724a2eb11e1a743;p=freeside.git diff --git a/httemplate/edit/process/cust_main.cgi b/httemplate/edit/process/cust_main.cgi index 715e87377..ed285ca15 100755 --- a/httemplate/edit/process/cust_main.cgi +++ b/httemplate/edit/process/cust_main.cgi @@ -1,11 +1,28 @@ % 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" ) %> % % } else { % -<% $cgi->redirect(popurl(3). "view/cust_main.cgi?". $new->custnum) %> +<% $cgi->redirect( -uri => popurl(3). "view/cust_main.cgi?". $new->custnum, + -cookie => CGI::Cookie->new( + -name => 'freeside_status', + -value => mt($freeside_status), + -expires => '+5m', + ), + ) +%> % % } <%once> @@ -59,12 +76,6 @@ if ( $conf->exists('agent-ship_address', $cgi->param('agentnum')) ) { my %locations; 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 %hash; foreach ( FS::cust_main->location_fields ) { $hash{$_} = scalar($cgi->param($pre.'_'.$_)); @@ -105,7 +116,12 @@ if ( $cgi->param('no_credit_limit') ) { $new->setfield('credit_limit', ''); } -$new->tagnum( [ $cgi->param('tagnum') ] ); +#$new->tagnum( [ $cgi->param('tagnum') ] ); +my $params = $cgi->Vars; +$new->tagnum( [ + map { /^tagnum(\d+)/ && $1 } + grep { /^tagnum(\d+)/ && $cgi->param($_) } keys %$params +] ); $error ||= $new->set_national_id_from_cgi( $cgi ); @@ -171,7 +187,10 @@ if ( $cgi->param('residential_commercial') eq 'Residential' ) { $error = 'Email address required'; } - $options{'invoicing_list'} = [ split(/\s*,\s*/, $email) ]; + #$email =~ s/\s+/\, /g; + #$options{'invoicing_list'} = [ split(/\s*,\s*/, $email) ]; + $options{'invoicing_list'} = [ split(/[,\s]+/, $email) ]; + #[:,\s\/]+ # XXX really should include the phone numbers in here also } else { @@ -204,8 +223,11 @@ if ( $vendor eq 'avalara' or $vendor eq 'suretax' ) { } #perhaps this stuff should go to cust_main.pm +my $freeside_status = ''; if ( $new->custnum eq '' or $duplicate_of ) { + $freeside_status = 'Customer added'; + my $cust_pkg = ''; my $svc; @@ -327,6 +349,8 @@ if ( $new->custnum eq '' or $duplicate_of ) { } else { #create old record object + $freeside_status = 'Customer edited'; + my $old = qsearchs( 'cust_main', { 'custnum' => $new->custnum } ); $error ||= "Old record not found!" unless $old;