X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FGeocodeCache.pm;h=9a30f0050412790d28cd830cd499c78f0bd1244c;hb=8670a527210dc3ee55f2733a2d4b69043ebf8949;hp=7829c4df203e0f83b44c68ad54789802e2d22ccc;hpb=468c9e660eb0edb2033f0f8dbb4458f20280082c;p=freeside.git diff --git a/FS/FS/GeocodeCache.pm b/FS/FS/GeocodeCache.pm index 7829c4df2..9a30f0050 100644 --- a/FS/FS/GeocodeCache.pm +++ b/FS/FS/GeocodeCache.pm @@ -110,23 +110,23 @@ Look up the censustract, if it's not already filled in, and return it. On error, sets 'error' and returns nothing. This uses the "get_censustract_*" methods in L; currently -the only one is 'ffiec'. +available are 'uscensus' (default) or 'ffiec' (legacy, used if the +census_legacy configuration option is set). =cut sub set_censustract { my $self = shift; - if ( $self->get('censustract') =~ /^\d{9}\.\d{2}$/ ) { + if ( $self->get('censustract') =~ /^\d{9}(\.\d{2}|\d{6})$/ ) { return $self->get('censustract'); } - my $censusyear = $conf->config('census_year'); - return if !$censusyear; - my $method = 'ffiec'; - # configurable censustract-only lookup goes here if it's ever needed. + my $year = $conf->config('census_legacy') || 2020; + my $method = ($year==2020) ? 'uscensus' : 'ffiec'; + $method = "get_censustract_$method"; - my $censustract = eval { FS::Misc::Geo->$method($self, $censusyear) }; + my $censustract = eval { FS::Misc::Geo->$method($self, $year) }; $self->set("censustract_error", $@); $self->set("censustract", $censustract); }