Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / FS / FS / prospect_main.pm
index 5148143..b160343 100644 (file)
@@ -4,6 +4,7 @@ use base qw( FS::Quotable_Mixin FS::o2m_Common FS::Record );
 use strict;
 use vars qw( $DEBUG @location_fields );
 use Scalar::Util qw( blessed );
+use FS::Conf;
 use FS::Record qw( dbh qsearch ); # qsearchs );
 use FS::cust_location;
 use FS::cust_main;
@@ -242,8 +243,8 @@ sub check {
 
   my $error = 
     $self->ut_numbern('prospectnum')
-    || $self->ut_foreign_key( 'agentnum', 'agent',         'agentnum' )
-    || $self->ut_foreign_key( 'refnum',   'part_referral', 'refnum' )
+    || $self->ut_foreign_key(  'agentnum', 'agent',         'agentnum' )
+    || $self->ut_foreign_keyn( 'refnum',   'part_referral', 'refnum'   )
     || $self->ut_textn('company')
   ;
   return $error if $error;
@@ -327,6 +328,9 @@ sub convert_cust_main {
     ( map { $_ => $self->$_ } qw( agentnum refnum company ) ),
   };
 
+  $cust_main->refnum( FS::Conf->new->config('referraldefault') || 1  )
+    unless $cust_main->refnum;
+
   #XXX again, arbitrary, if one contact was "billing", that would be better
   if ( $contact[0] ) {
     $cust_main->set($_, $contact[0]->get($_)) foreach qw( first last );
@@ -335,6 +339,10 @@ sub convert_cust_main {
     $cust_main->set('last',  'Unknown');
   }
 
+  #v3 payby
+  $cust_main->payby('BILL');
+  $cust_main->paydate('12/2037');
+
   $cust_main->insert( {}, \@invoicing_list,
     'prospectnum' => $self->prospectnum,
   )
@@ -397,6 +405,11 @@ sub search {
 
 }
 
+# stub this so that calling ->cust_bill doesn't return an empty string
+sub cust_bill {
+  return;
+}
+
 =back
 
 =head1 BUGS