use base qw( FS::Quotable_Mixin FS::o2m_Common FS::Record );
use vars qw( $DEBUG @location_fields );
use Scalar::Util qw( blessed );
+use FS::Conf;
use FS::Record qw( dbh qsearch qsearchs );
use FS::agent;
use FS::cust_location;
use FS::cust_main;
use FS::contact;
use FS::qual;
+use FS::part_referral;
$DEBUG = 0;
qsearchs( 'agent', { 'agentnum' => $self->agentnum } );
}
+=item part_referral
+
+Returns the advertising source (see L<FS::part_referral>) for this customer.
+
+=cut
+
+sub part_referral {
+ my $self = shift;
+ qsearchs( 'part_referral', { 'refnum' => $self->refnum } );
+}
+
=item convert_cust_main
Converts this prospect to a customer.
( 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 );
my @where = ();
my $orderby;
- ##
- # parse agent
- ##
-
+ #agent
if ( $params->{'agentnum'} =~ /^(\d+)$/ and $1 ) {
push @where,
"prospect_main.agentnum = $1";
}
+ #refnum
+ if ( $params->{'refnum'} =~ /^(\d+)$/ and $1 ) {
+ push @where,
+ "prospect_main.refnum = $1";
+ }
+
##
# setup queries, subs, etc. for the search
##