X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fcust_main.cgi;h=d4578d296d2645850421e9811bfee83de93f3636;hb=bf9b266acafce57cfa532801c00d45dc4eab765c;hp=2cb1648f7364480e6e32f13316c10e2d6dffa3f0;hpb=64aec88c35418b8c630811cdf5afb19b2a1c4299;p=freeside.git diff --git a/httemplate/edit/process/cust_main.cgi b/httemplate/edit/process/cust_main.cgi index 2cb1648f7..d4578d296 100755 --- a/httemplate/edit/process/cust_main.cgi +++ b/httemplate/edit/process/cust_main.cgi @@ -15,7 +15,14 @@ % % } 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> @@ -37,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'); @@ -55,7 +62,7 @@ $cgi->param('duplicate_of_custnum') =~ /^(\d+)$/; my $duplicate_of = $1; # if this is enabled, enforce it -if ( $conf->exists('agent-ship_address', $cgi->param('agentnum')) ) { +if ( $conf->exists('agent-ship_address', scalar($cgi->param('agentnum'))) ) { my $agent = FS::agent->by_key($cgi->param('agentnum')); my $agent_cust_main = $agent->agent_cust_main; if ( $agent_cust_main ) { @@ -90,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 ) { @@ -180,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 { @@ -213,8 +225,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; @@ -336,6 +351,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;