X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fgeocode_Mixin.pm;h=57d8ca0e895c9f9d38addd03857807ca8de83f73;hb=a180208786cccb72ab017e39fff0cb128aa6ba01;hp=29491db61f896d8ef8aa33145d705f6b89906901;hpb=fb4ab1073f0d15d660c6cdc4e07afebf68ef3924;p=freeside.git diff --git a/FS/FS/geocode_Mixin.pm b/FS/FS/geocode_Mixin.pm index 29491db61..57d8ca0e8 100644 --- a/FS/FS/geocode_Mixin.pm +++ b/FS/FS/geocode_Mixin.pm @@ -186,12 +186,17 @@ sub geocode { my $geocode = $self->get('geocode'); #XXX only one data_vendor for geocode return $geocode if $geocode; - my $prefix = - ( FS::Conf->new->exists('tax-ship_address') && $self->has_ship_address ) - ? 'ship_' - : ''; + if ( $self->isa('FS::cust_main') ) { + warn "WARNING: FS::cust_main->geocode deprecated"; + + # do the best we can + my $m = FS::Conf->new->exists('tax-ship_address') ? 'ship_location' + : 'bill_location'; + my $location = $self->$m or return ''; + return $location->geocode($data_vendor); + } - my($zip,$plus4) = split /-/, $self->get("${prefix}zip") + my($zip,$plus4) = split /-/, $self->get('zip') if $self->country eq 'US'; $zip ||= ''; @@ -212,7 +217,7 @@ sub geocode { if scalar(@cust_tax_location); warn "WARNING: customer ". $self->custnum. - ": multiple locations for zip ". $self->get("${prefix}zip"). + ": multiple locations for zip ". $self->get("zip"). "; using arbitrary geocode $geocode\n" if scalar(@cust_tax_location) > 1;