From e0aacf68c8c7bbd4d3609731d6a1a2fe7d7e3d1d Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Fri, 30 Oct 2015 22:38:01 -0700 Subject: [PATCH] allow separate address standardization of billing and service addresses, #38646 --- httemplate/elements/standardize_locations.js | 16 ++++- httemplate/misc/confirm-address_standardize.html | 81 ++++++++++++++---------- 2 files changed, 62 insertions(+), 35 deletions(-) diff --git a/httemplate/elements/standardize_locations.js b/httemplate/elements/standardize_locations.js index 1a01daa6f..b824fb249 100644 --- a/httemplate/elements/standardize_locations.js +++ b/httemplate/elements/standardize_locations.js @@ -129,7 +129,7 @@ function confirm_standardize(arg) { function() { overlib( OLresponseAJAX, CAPTION, 'Address standardization', STICKY, AUTOSTATUSCAP, CLOSETEXT, '', MIDX, 0, MIDY, 0, DRAGGABLE, WIDTH, - 576, HEIGHT, 268, BGCOLOR, '#333399', CGCOLOR, '#333399', + 650, HEIGHT, 368, BGCOLOR, '#333399', CGCOLOR, '#333399', TEXTSIZE, 3 ); }, 0); @@ -141,10 +141,15 @@ function replace_address() { var newaddr = returned['new']; var cf = document.<% $formname %>; + var crf = document.forms['confirm_replace_form']; % foreach my $pre (@prefixes) { var clean = newaddr['<% $pre %>addr_clean'] == 'Y'; + var replace = true; // auto_standardize_address won't load the form, so just do it + if ( crf && crf['<% $pre %>replace'] ) { + replace = crf['<% $pre %>replace'].value == 'Y'; + } var error = newaddr['<% $pre %>error']; - if ( clean ) { + if ( clean && replace ) { % foreach my $field (qw(address1 address2 state zip addr_clean ),($conf->exists('cust_main-no_city_in_address') ? () : 'city')) { cf.elements['<% $pre %><% $field %>'].value = newaddr['<% $pre %><% $field %>']; % } #foreach $field @@ -154,7 +159,12 @@ function replace_address() { cf.elements['<% $pre %>longitude'].value = newaddr['<% $pre %>longitude']; } % if ( $withcensus ) { - if ( clean && newaddr['<% $pre %>censustract'] ) { + var census_replace = true; + if ( crf && crf['census_replace'] ) { + census_replace = crf['census_replace'].value == 'Y'; + } + + if ( clean && census_replace && newaddr['<% $pre %>censustract'] ) { cf.elements['<% $pre %>censustract'].value = newaddr['<% $pre %>censustract']; } % } #if $withcensus diff --git a/httemplate/misc/confirm-address_standardize.html b/httemplate/misc/confirm-address_standardize.html index 2eae011c4..0a05c70bd 100644 --- a/httemplate/misc/confirm-address_standardize.html +++ b/httemplate/misc/confirm-address_standardize.html @@ -1,8 +1,15 @@

-% if ( $new{bill_error} or $new{ship_error} ) { +% if ( $is_error ) { Address standardization error % } % else { @@ -10,24 +17,26 @@ Confirm address standardization % }

+
-% my @prefixes = (''); -% if ( $old{same} ) { -% @prefixes = ('bill_'); -% } elsif ( $old{billship} ) { -% @prefixes = ('bill_', 'ship_'); -% } % for my $pre (@prefixes) { % my $name = $pre eq 'bill_' ? 'billing' : 'service'; +% my $rows = 5; % if ( $new{$pre.'error'} ) { - + + + + -% if ( $old{$pre.'company'} ) { +% if ( $old{$pre.'company'} ) { - % } + @@ -39,9 +48,16 @@ Confirm address standardization % } else { # not an error +% $rows++ if !$new{$pre.'addr_clean'}; + + % if ( !$new{$pre.'addr_clean'} ) { @@ -75,11 +91,16 @@ Confirm address standardization %# only do this part if address standardization provided a censustract % my $pre = $old{same} ? 'bill_' : 'ship_'; % my $censustract = $new{$pre.'censustract'}; -% my $census_error = $new{$pre.'census_error'}; % if ( $censustract ) { + + @@ -93,35 +114,21 @@ Confirm address standardization % } #if censustract -% if ( grep {$new{$_.'error'}} @prefixes ) { + + -% } else { - - - - -
Entered <%$name%> address CLASS="td_radio"> + + Entered <%$name%> address +
<% $old{$pre.'company'} %>
<% $old{$pre.'address1'} %> <% $new{$pre.'error'} %><% $old{$pre.'city'} %>, <% $old{$pre.'state'} %> <% $old{$pre.'zip'} %>
CLASS="td_radio"> + + Entered <%$name%> address Standardized <%$name%> address CLASS="td_radio"> + +
+ > + Entered census tract Calculated census tract + > +
<% $old{$pre.'censustract'} %>
-
- -
- -
-% } # !error +
<%init> # slightly weird interface... @@ -132,4 +139,14 @@ my %new = %{ $q->{new} }; my $addresses = $old{billship} ? 'addresses' : 'address'; +my @prefixes = (''); +if ( $old{same} ) { + @prefixes = ('bill_'); +} elsif ( $old{billship} ) { + @prefixes = ('bill_', 'ship_'); +} + +my $census_error = $new{'census_error'}; +my $is_error = $census_error || grep { $new{$_.'error'} } @prefixes; + -- 2.11.0