X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fcust_main.cgi;h=706435af1ceaad825eafd75b24b3349b7437591b;hb=088d455c563ca3b75be357727622d968e49b3ed1;hp=631f4b6233ee45a0fe890db61a7991036f90d13b;hpb=02ac576281eb3f74e5b75490517512de3ce5889c;p=freeside.git diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi index 631f4b623..706435af1 100755 --- a/httemplate/edit/cust_main.cgi +++ b/httemplate/edit/cust_main.cgi @@ -30,7 +30,6 @@ %# birthdate % if ( $conf->config('national_id-country') % || $conf->exists('cust_main-enable_birthdate') -% || $conf->exists('cust_main-enable_spouse_birthdate') % || $conf->exists('cust_main-enable_anniversary_date') % ) % { @@ -83,6 +82,18 @@ enable_district => 1, enable_coords => 1, &> +% unless ($conf->exists('invoice-ship_address')) { #it's always on, so hide per-cust config + + + <% include('/elements/checkbox.html', + 'field' => 'invoice_ship_address', + 'value' => 'Y', + 'curr_value' => $cust_main->invoice_ship_address, + 'postfix' => emt('Include service address on invoices'), + ) %> + + +% } @@ -101,14 +112,12 @@ function samechanged(what) { t1.style.visibility = 'visible' } } -//samechanged(document.getElementById('same')); +samechanged(document.getElementById('same'));
-<& cust_main/contacts_new.html, - 'cust_main' => $cust_main, -&> +<& cust_main/contacts_new.html, 'cust_main'=>$cust_main, 'submit_id'=>'submitButton', &> %# billing info <& cust_main/billing.html, $cust_main, @@ -214,12 +223,19 @@ if ( $cgi->param('error') ) { my %locations; for my $pre (qw(bill ship)) { my %hash; - foreach ( FS::cust_main->location_fields ) { - $hash{$_} = scalar($cgi->param($pre.'_'.$_)); + foreach my $locfield ( FS::cust_main->location_fields ) { + # don't search on lat/long, string values can cause qsearchs to die + next if grep {$_ eq $locfield} qw(latitude longitude); + $hash{$locfield} = scalar($cgi->param($pre.'_'.$locfield)); } $hash{'custnum'} = $cgi->param('custnum'); $locations{$pre} = qsearchs('cust_location', \%hash) || FS::cust_location->new( \%hash ); + # now set lat/long, for redisplay of entered values + foreach my $locfield ( qw(latitude longitude) ) { + my $locvalue = scalar($cgi->param($pre.'_'.$locfield)); + $locations{$pre}->set($locfield,$locvalue); + } } if ( $same ) { $locations{ship} = $locations{bill}; @@ -241,7 +257,8 @@ if ( $cgi->param('error') ) { unless $curuser->access_right($custnum ? 'Edit customer' : 'New customer'); @invoicing_list = split( /\s*,\s*/, $cgi->param('invoicing_list') ); - $cust_main->setfield('paid' => $cgi->param('paid')) if $cgi->param('paid'); + $cust_main->setfield( 'paid' => scalar($cgi->param('paid')) ) + if $cgi->param('paid'); $ss = $cust_main->ss; # don't mask an entered value on errors $stateid = $cust_main->stateid; # don't mask an entered value on errors $payinfo = $cust_main->payinfo; # don't mask an entered value on errors @@ -301,8 +318,13 @@ if ( $cgi->param('error') ) { $custnum=''; $cust_main = new FS::cust_main ( {} ); + + my @agentnums = $curuser->agentnums; + $cust_main->agentnum( $agentnums[0] ) + if scalar(@agentnums) == 1; $cust_main->agentnum( $conf->config('default_agentnum') ) if $conf->exists('default_agentnum'); + $cust_main->otaker( &getotaker ); $cust_main->referral_custnum( $cgi->param('referral_custnum') ); @invoicing_list = (); @@ -378,7 +400,8 @@ if ( $cgi->param('error') ) { } my %keep = map { $_=>1 } qw( error tagnum lock_agentnum lock_pkgpart ); -$cgi->delete( grep { !$keep{$_} && $_ !~ /^tax_/ } $cgi->param ); +#$cgi->delete( grep { !$keep{$_} && $_ !~ /^tax_/ } $cgi->param ); +$cgi->delete( grep { !$keep{$_} && $_ !~ /^tax_/ && $_ !~ /^contactnum/ } $cgi->param ); my $title = $custnum ? 'Edit Customer' : 'Add Customer'; $title = mt($title);