summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2012-11-09 17:03:41 -0800
committerMark Wells <mark@freeside.biz>2012-11-09 17:03:41 -0800
commit84fa358b56b89205fff99927080d5c28c01d57ff (patch)
tree3d379de290752f896db598a39cc8aa1879f1260f
parenta5318b8239e3a35cbbeb5510b451f5ba5f622846 (diff)
various customer location-related fixes, #13763
-rwxr-xr-xhttemplate/edit/cust_main.cgi18
-rw-r--r--httemplate/edit/cust_main/bottomfixup.js8
-rw-r--r--httemplate/elements/standardize_locations.js9
-rw-r--r--httemplate/misc/confirm-address_standardize.html9
-rw-r--r--httemplate/misc/xmlhttp-address_standardize.html11
5 files changed, 37 insertions, 18 deletions
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index 0aded597f..be00213e2 100755
--- a/httemplate/edit/cust_main.cgi
+++ b/httemplate/edit/cust_main.cgi
@@ -316,8 +316,6 @@ if ( $cgi->param('error') ) {
$payinfo = '';
$cgi->param('tagnum', FS::part_tag->default_tags);
- $cust_main->coord_auto('Y');
- $cust_main->ship_coord_auto('Y');
if ( $cgi->param('qualnum') =~ /^(\d+)$/ ) {
my $qualnum = $1;
@@ -357,14 +355,18 @@ if ( $cgi->param('error') ) {
my $countrydefault = $conf->config('countrydefault') || 'US';
my $statedefault = $conf->config('statedefault') || 'CA';
$cust_main->set('bill_location',
- FS::cust_location->new(
- { country => $countrydefault, state => $statedefault }
- )
+ FS::cust_location->new( {
+ country => $countrydefault,
+ state => $statedefault,
+ coord_auto => 'Y',
+ } )
);
$cust_main->set('ship_location',
- FS::cust_location->new(
- { country => $countrydefault, state => $statedefault }
- )
+ FS::cust_location->new( {
+ country => $countrydefault,
+ state => $statedefault,
+ coord_auto => 'Y',
+ } )
);
}
diff --git a/httemplate/edit/cust_main/bottomfixup.js b/httemplate/edit/cust_main/bottomfixup.js
index 4f3b7da42..6fc798919 100644
--- a/httemplate/edit/cust_main/bottomfixup.js
+++ b/httemplate/edit/cust_main/bottomfixup.js
@@ -96,11 +96,11 @@ function copyelement(from, to) {
//alert(from + " (" + from.type + "): " + to.name + " => " + to.value);
}
-% # the value in 'censustract' is the confirmed censustract; if it's set,
+% # the value in 'ship_censustract' is the confirmed censustract; if it's set,
% # do nothing here
function confirm_censustract() {
var cf = document.CustomerForm;
- if ( cf.elements['censustract'].value == '' ) {
+ if ( cf.elements['ship_censustract'].value == '' ) {
var address_info = form_address_info();
address_info['ship_latitude'] = cf.elements['ship_latitude'].value;
address_info['ship_longitude'] = cf.elements['ship_longitude'].value;
@@ -120,8 +120,8 @@ function confirm_censustract() {
%# called from confirm-censustract.html
function set_censustract(tract, year) {
var cf = document.CustomerForm;
- cf.elements['censustract'].value = tract;
- cf.elements['censusyear'].value = year;
+ cf.elements['ship_censustract'].value = tract;
+ cf.elements['ship_censusyear'].value = year;
submit_continue();
}
diff --git a/httemplate/elements/standardize_locations.js b/httemplate/elements/standardize_locations.js
index f6564a55e..ff45b1826 100644
--- a/httemplate/elements/standardize_locations.js
+++ b/httemplate/elements/standardize_locations.js
@@ -25,6 +25,9 @@ function form_address_info() {
'ship_state': ship_state_el.options[ ship_state_el.selectedIndex ].value,
'ship_zip': cf.elements['<% $ship_prefix %>zip'].value,
'ship_country': cf.elements['<% $ship_prefix %>country'].value,
+% if ( !$onlyship ) {
+ 'same': cf.elements['same'].checked
+% }
};
}
@@ -86,9 +89,9 @@ function standardize_locations() {
address_standardize(JSON.stringify(address_info), confirm_standardize);
}
else {
- cf.elements['ship_addr_clean'].value = 'Y';
+ cf.elements['<% $ship_prefix %>addr_clean'].value = 'Y';
% if ( !$onlyship ) {
- cf.elements['addr_clean'].value = 'Y';
+ cf.elements['<% $main_prefix %>addr_clean'].value = 'Y';
% }
post_standardization();
}
@@ -194,7 +197,7 @@ function confirm_manual_address() {
% if ( $withcensus ) {
var cf = document.<% $formname %>;
cf.elements['<% $main_prefix %>censustract'].value =
- cf.elements['<% $main_prefix %>enter_censustract'].value;
+ cf.elements['enter_censustract'].value;
% }
post_standardization();
}
diff --git a/httemplate/misc/confirm-address_standardize.html b/httemplate/misc/confirm-address_standardize.html
index 3603b95d9..a6f4b06e8 100644
--- a/httemplate/misc/confirm-address_standardize.html
+++ b/httemplate/misc/confirm-address_standardize.html
@@ -11,8 +11,15 @@ Confirm address standardization
</B><BR><BR>
<TABLE WIDTH="100%">
+% my @prefixes;
+% if ( $old{onlyship} ) {
+% @prefixes = ('ship_');
+% } elsif ( $old{same} ) {
+% @prefixes = ('');
+% } else {
+% @prefixes = ('', 'ship_');
+% }
% for my $pre ('', 'ship_') {
-% next if !$pre and $old{onlyship};
% my $name = $pre eq 'ship_' ? 'service' : 'billing';
% if ( $new{$pre.'addr_clean'} ) {
<TR>
diff --git a/httemplate/misc/xmlhttp-address_standardize.html b/httemplate/misc/xmlhttp-address_standardize.html
index f53c35fca..e28c06f3a 100644
--- a/httemplate/misc/xmlhttp-address_standardize.html
+++ b/httemplate/misc/xmlhttp-address_standardize.html
@@ -16,8 +16,15 @@ my %old = %{ decode_json($cgi->param('arg')) }
my %new;
-foreach my $pre ( '', 'ship_' ) {
- next unless ($pre || !$old{onlyship});
+my @prefixes;
+if ($old{onlyship}) {
+ @prefixes = ('ship_');
+} elsif ( $old{same} ) {
+ @prefixes = ('');
+} else {
+ @prefixes = ('', 'ship_');
+}
+foreach my $pre ( @prefixes ) {
my $location = {
map { $_ => $old{$pre.$_} }