X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fcust_main.cgi;h=fbd292ffba39d46ce906c743abf72e457aab6410;hb=0a91d21fcf8ebeb12cd71230d79153c1fa0d82a3;hp=2908848c68cfad1014493ae3914b5cc536eb115b;hpb=f3e0ac2b009c4edd5692cb587ff709dac2223ebe;p=freeside.git
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index 2908848c6..fbd292ffb 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')
% )
% {
@@ -53,6 +52,8 @@
<& /elements/location.html,
object => $cust_main->bill_location,
prefix => 'bill_',
+ enable_censustract => 1,
+ enable_district => 1,
enable_coords => 1,
&>
<& cust_main/after_bill_location.html, $cust_main &>
@@ -73,6 +74,7 @@
><% mt('same as billing address') |h %>
+ <& cust_main/before_ship_location.html, $cust_main &>
<& /elements/location.html,
object => $cust_main->ship_location,
prefix => 'ship_',
@@ -80,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'),
+ ) %>
+ |
+
+% }
@@ -98,7 +112,7 @@ function samechanged(what) {
t1.style.visibility = 'visible'
}
}
-//samechanged(document.getElementById('same'));
+samechanged(document.getElementById('same'));
@@ -202,6 +216,7 @@ my $prospectnum = '';
my $locationnum = '';
my $same = '';
+$m->comp('/elements/handle_uri_query', 'secure'=>1);
if ( $cgi->param('error') ) {
@@ -210,12 +225,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};
@@ -237,7 +259,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
@@ -297,8 +320,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 = ();