projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix geocode guessing w/a 5 digit zip, RT#13595
[freeside.git]
/
FS
/
FS
/
geocode_Mixin.pm
diff --git
a/FS/FS/geocode_Mixin.pm
b/FS/FS/geocode_Mixin.pm
index
cf45a92
..
1e92ddc
100644
(file)
--- a/
FS/FS/geocode_Mixin.pm
+++ b/
FS/FS/geocode_Mixin.pm
@@
-5,6
+5,7
@@
use vars qw( $DEBUG $me );
use Carp;
use Locale::Country;
use FS::Record qw( qsearchs qsearch );
use Carp;
use Locale::Country;
use FS::Record qw( qsearchs qsearch );
+use FS::Conf;
use FS::cust_pkg;
use FS::cust_location;
use FS::cust_tax_location;
use FS::cust_pkg;
use FS::cust_location;
use FS::cust_tax_location;
@@
-82,7
+83,7
@@
sub location_label {
my $ds = $opt{double_space} || ' ';
my $line = '';
my $cydefault =
my $ds = $opt{double_space} || ' ';
my $line = '';
my $cydefault =
- $opt{'countrydefault'} || FS::
c
onf->new->config('countrydefault') || 'US';
+ $opt{'countrydefault'} || FS::
C
onf->new->config('countrydefault') || 'US';
my $prefix = $self->has_ship_address ? 'ship_' : '';
my $notfirst = 0;
my $prefix = $self->has_ship_address ? 'ship_' : '';
my $notfirst = 0;
@@
-122,7
+123,7
@@
sub geocode {
return $geocode if $geocode;
my $prefix =
return $geocode if $geocode;
my $prefix =
- ( FS::
c
onf->new->exists('tax-ship_address') && $self->has_ship_address )
+ ( FS::
C
onf->new->exists('tax-ship_address') && $self->has_ship_address )
? 'ship_'
: '';
? 'ship_'
: '';
@@
-132,7
+133,8
@@
sub geocode {
$zip ||= '';
$plus4 ||= '';
#CCH specific location stuff
$zip ||= '';
$plus4 ||= '';
#CCH specific location stuff
- my $extra_sql = "AND plus4lo <= '$plus4' AND plus4hi >= '$plus4'";
+ my $extra_sql = $plus4 ? "AND plus4lo <= '$plus4' AND plus4hi >= '$plus4'"
+ : '';
my @cust_tax_location =
qsearch( {
my @cust_tax_location =
qsearch( {
@@
-145,6
+147,11
@@
sub geocode {
$geocode = $cust_tax_location[0]->geocode
if scalar(@cust_tax_location);
$geocode = $cust_tax_location[0]->geocode
if scalar(@cust_tax_location);
+ warn "WARNING: customer ". $self->custnum.
+ ": multiple locations for zip ". $self->get("${prefix}zip").
+ "; using arbitrary geocode $geocode\n"
+ if scalar(@cust_tax_location) > 1;
+
$geocode;
}
$geocode;
}