+
<& cust_main/before_ship_location.html, $cust_main &>
<& /elements/location.html,
object => $cust_main->ship_location,
@@ -80,13 +80,12 @@
&>
% 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('included on invoices'),
+ 'postfix' => emt('Include service address on invoices'),
) %>
|
@@ -96,29 +95,26 @@
-
-
+% if ( ! $has_ship_address ) {
+ $('#div_ship_location').hide();
+% }
-<& 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,
- 'payinfo' => $payinfo,
'invoicing_list' => \@invoicing_list,
&>
@@ -189,7 +185,7 @@ my $conf = new FS::Conf;
#get record
-my($custnum, $cust_main, $ss, $stateid, $payinfo, @invoicing_list);
+my($custnum, $cust_main, $ss, $stateid, @invoicing_list);
my $pkgpart_svcpart = ''; #first_pkg
my($username, $password, $popnum, $saved_domsvc) = ( '', '', 0, 0 ); #svc_acct
my %svc_phone = ();
@@ -207,12 +203,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};
@@ -234,10 +237,10 @@ 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
$cust_main->national_id( $cgi->param('national_id1') || $cgi->param('national_id2') );
@@ -283,9 +286,8 @@ if ( $cgi->param('error') ) {
$cust_main->paycvv($paycvv);
}
@invoicing_list = $cust_main->invoicing_list;
- $ss = $conf->exists('unmask_ss') ? $cust_main->ss : $cust_main->masked('ss');
+ $ss = $cust_main->masked('ss');
$stateid = $cust_main->masked('stateid');
- $payinfo = $cust_main->paymask;
} else { #new customer
@@ -294,17 +296,18 @@ 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->referral_custnum( $cgi->param('referral_custnum') );
- @invoicing_list = ();
- push @invoicing_list, 'POST'
+
+ $cust_main->referral_custnum( scalar($cgi->param('referral_custnum')) );
+ $cust_main->set('postal_invoice', 'Y')
unless $conf->exists('disablepostalinvoicedefault');
$ss = '';
$stateid = '';
- $payinfo = '';
-
- $cgi->param('tagnum', FS::part_tag->default_tags);
if ( $cgi->param('qualnum') =~ /^(\d+)$/ ) {
my $qualnum = $1;