From: Mark Wells Date: Wed, 6 Nov 2013 20:14:34 +0000 (-0800) Subject: TomTom: return a definite error on incomplete matches, #25261 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=e269e80233f594ce1387bdfcdba7dbf4861345c2;p=freeside.git TomTom: return a definite error on incomplete matches, #25261 --- diff --git a/FS/FS/Misc/Geo.pm b/FS/FS/Misc/Geo.pm index f3263f6d8..aa755643f 100644 --- a/FS/FS/Misc/Geo.pm +++ b/FS/FS/Misc/Geo.pm @@ -447,6 +447,12 @@ sub standardize_tomtom { my ($address1, $address2) = ($location->{address1}, $location->{address2}); my $subloc = ''; + # trim whitespace + $address1 =~ s/^\s+//; + $address1 =~ s/\s+$//; + $address2 =~ s/^\s+//; + $address2 =~ s/\s+$//; + # try to fix some cases of the address fields being switched if ( $address2 =~ /^\d/ and $address1 !~ /^\d/ ) { $address2 = $address1; @@ -487,8 +493,8 @@ sub standardize_tomtom { } } - if (!$match) { - die "Location not found.\n"; + if ( !$match or !$clean ) { # partial matches are not useful + die "Address not found\n"; } my $tract = ''; if ( defined $match->{censusTract} ) { @@ -642,6 +648,7 @@ sub subloc_address2 { warn "normalizing '$addr2' to '$result'\n" if $DEBUG > 1; $addr2 = $result; } + $addr2 = '' if $addr2 eq $subloc; # if it was entered redundantly ($subloc, $addr2); } diff --git a/httemplate/misc/confirm-address_standardize.html b/httemplate/misc/confirm-address_standardize.html index 33d22195b..2eae011c4 100644 --- a/httemplate/misc/confirm-address_standardize.html +++ b/httemplate/misc/confirm-address_standardize.html @@ -19,52 +19,57 @@ Confirm address standardization % } % for my $pre (@prefixes) { % my $name = $pre eq 'bill_' ? 'billing' : 'service'; -% if ( $new{$pre.'addr_clean'} ) { +% if ( $new{$pre.'error'} ) { Entered <%$name%> address - Standardized <%$name%> address - % if ( $old{$pre.'company'} ) { <% $old{$pre.'company'} %> - <% $new{$pre.'company'} %> % } <% $old{$pre.'address1'} %> - <% $new{$pre.'address1'} %> + <% $new{$pre.'error'} %> <% $old{$pre.'address2'} %> - <% $new{$pre.'address2'} %> <% $old{$pre.'city'} %>, <% $old{$pre.'state'} %> <% $old{$pre.'zip'} %> - <% $new{$pre.'city'} %>, <% $new{$pre.'state'} %> <% $new{$pre.'zip'} %> - -% } # if addr_clean -% elsif ( $new{$pre.'error'} ) { +% } else { # not an error Entered <%$name%> address + Standardized <%$name%> address + +% if ( !$new{$pre.'addr_clean'} ) { + + + (unverified) +% } + % if ( $old{$pre.'company'} ) { <% $old{$pre.'company'} %> + <% $new{$pre.'company'} %> % } <% $old{$pre.'address1'} %> - <% $new{$pre.'error'} %> + <% $new{$pre.'address1'} %> <% $old{$pre.'address2'} %> + <% $new{$pre.'address2'} %> <% $old{$pre.'city'} %>, <% $old{$pre.'state'} %> <% $old{$pre.'zip'} %> + <% $new{$pre.'city'} %>, <% $new{$pre.'state'} %> <% $new{$pre.'zip'} %> -% } #if error + +% } # if error % } # for $pre %# only do this part if address standardization provided a censustract @@ -88,7 +93,7 @@ Confirm address standardization % } #if censustract -% if ( $new{bill_error} or $new{ship_error} ) { +% if ( grep {$new{$_.'error'}} @prefixes ) { -% } -% else { +% } else {