X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_location.pm;h=ab80941f9b6a1184c184429394787202e8ac17ea;hb=21b76c866eec897150b71f1b345a3c135f2c3667;hp=0544dcfba1ed41325fefdab8a5c28b1a840b0835;hpb=2b8ffc98529637ffddfe7cbf6b4f9b8deb90f0fa;p=freeside.git diff --git a/FS/FS/cust_location.pm b/FS/FS/cust_location.pm index 0544dcfba..ab80941f9 100644 --- a/FS/FS/cust_location.pm +++ b/FS/FS/cust_location.pm @@ -1,9 +1,10 @@ package FS::cust_location; use strict; -use base qw( FS::Record ); +use base qw( FS::geocode_Mixin FS::Record ); use Locale::Country; use FS::Record qw( qsearch ); #qsearchs ); +use FS::prospect_main; use FS::cust_main; use FS::cust_main_county; @@ -119,7 +120,8 @@ sub check { my $error = $self->ut_numbern('locationnum') - || $self->ut_foreign_key('custnum', 'cust_main', 'custnum') + || $self->ut_foreign_keyn('prospectnum', 'prospect_main', 'prospectnum') + || $self->ut_foreign_keyn('custnum', 'cust_main', 'custnum') || $self->ut_text('address1') || $self->ut_textn('address2') || $self->ut_text('city') @@ -131,6 +133,9 @@ sub check { ; return $error if $error; + return "No prospect or customer!" unless $self->prospectnum || $self->custnum; + return "Prospect and customer!" if $self->prospectnum && $self->custnum; + unless ( qsearch('cust_main_county', { 'country' => $self->country, 'state' => '', @@ -158,6 +163,35 @@ sub country_full { code2country($self->country); } +=item line + +Synonym for location_label + +=cut + +sub line { + my $self = shift; + $self->location_label; +} + +=item has_ship_address + +Returns false since cust_location objects do not have a separate shipping +address. + +=cut + +sub has_ship_address { + ''; +} + +=item location_hash + +Returns a list of key/value pairs, with the following keys: address1, address2, +city, county, state, zip, country, geocode. + +=cut + =back =head1 BUGS