Geocode
+=item district
+
+Tax district code (optional)
+
=item disabled
Disabled flag; set to 'Y' to disable the location.
Adds this record to the database. If there is an error, returns the error,
otherwise returns false.
+=cut
+
+sub insert {
+ my $self = shift;
+ my $error = $self->SUPER::insert(@_);
+
+ #false laziness with cust_main, will go away eventually
+ my $conf = new FS::Conf;
+ if ( !$error and $conf->config('tax_district_method') ) {
+
+ my $queue = new FS::queue {
+ 'job' => 'FS::geocode_Mixin::process_district_update'
+ };
+ $error = $queue->insert( ref($self), $self->locationnum );
+
+ }
+
+ $error || '';
+}
+
=item delete
Delete this record from the database.
Replaces the OLD_RECORD with this one in the database. If there is an error,
returns the error, otherwise returns false.
+=cut
+
+sub replace {
+ my $self = shift;
+ my $old = shift;
+ $old ||= $self->replace_old;
+ my $error = $self->SUPER::replace($old);
+
+ #false laziness with cust_main, will go away eventually
+ my $conf = new FS::Conf;
+ if ( !$error and $conf->config('tax_district_method')
+ and $self->get('address1') ne $old->get('address1') ) {
+
+ my $queue = new FS::queue {
+ 'job' => 'FS::geocode_Mixin::process_district_update'
+ };
+ $error = $queue->insert( ref($self), $self->locationnum );
+
+ }
+
+ $error || '';
+}
+
+
=item check
Checks all fields to make sure this is a valid location. If there is
|| $self->ut_textn('state')
|| $self->ut_country('country')
|| $self->ut_zip('zip', $self->country)
+ || $self->ut_coordn('latitude')
+ || $self->ut_coordn('longitude')
+ || $self->ut_enum('coord_auto', [ '', 'Y' ])
|| $self->ut_alphan('location_type')
|| $self->ut_textn('location_number')
|| $self->ut_enum('location_kind', [ '', 'R', 'B' ] )
|| $self->ut_alphan('geocode')
+ || $self->ut_alphan('district')
;
return $error if $error;
+ $self->set_coord
+ unless $self->latitude && $self->longitude;
+
return "No prospect or customer!" unless $self->prospectnum || $self->custnum;
return "Prospect and customer!" if $self->prospectnum && $self->custnum;