package FS::part_referral;
+use base qw(FS::Record);
use strict;
use vars qw( @ISA $setup_hack );
-use FS::Record qw( qsearch qsearchs dbh );
-use FS::agent;
+use FS::Record qw( dbh qsearch ); #qsearchs );
@ISA = qw( FS::Record );
$setup_hack = 0;
=item agentnum - Optional agentnum (see L<FS::agent>)
+=item title - an optional external string that identifies this
+referral source, such as an advertising campaign code.
+
=back
=head1 NOTE
|| $self->ut_text('referral')
|| $self->ut_enum('disabled', [ '', 'Y' ] )
#|| $self->ut_foreign_keyn('agentnum', 'agent', 'agentnum')
+ || $self->ut_textn('title')
|| ( $setup_hack
? $self->ut_foreign_keyn('agentnum', 'agent', 'agentnum' )
: $self->ut_agentnum_acl('agentnum', 'Edit global advertising sources')
Returns the associated agent for this referral, if any, as an FS::agent object.
-=cut
-
-sub agent {
- my $self = shift;
- qsearchs('agent', { 'agentnum' => $self->agentnum } );
-}
-
=back
=head1 CLASS METHODS
sub all_part_referral {
my $self = shift;
+ my $global = @_ ? shift : '';
+ my $disabled = @_ ? shift : '';
+
+ my $hashref = $disabled ? {} : { 'disabled' => '' };
+ my $and = $disabled ? ' WHERE ' : ' AND ';
qsearch({
'table' => 'part_referral',
- 'extra_sql' => ' WHERE '. $self->acl_agentnum_sql(@_). ' ORDER BY refnum ',
+ 'hashref' => $hashref,
+ 'extra_sql' => $and. $self->acl_agentnum_sql($global). ' ORDER BY refnum ',
});
}