X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=FS%2FFS%2Fagent.pm;h=ff0a2b1f6c3cfbd4a94c2b8b51384f987e81987f;hb=8a00b4c10743a314f4a298879141b60d6096eb3b;hp=4158341e489009afe7a2c7d7035dad704550db8e;hpb=580330233cbf32c58d9f29dc391bd2ebd83e16d5;p=freeside.git diff --git a/FS/FS/agent.pm b/FS/FS/agent.pm index 4158341e4..ff0a2b1f6 100644 --- a/FS/FS/agent.pm +++ b/FS/FS/agent.pm @@ -10,7 +10,7 @@ use FS::agent_type; use FS::reg_code; use FS::TicketSystem; -@ISA = qw( FS::Record ); +@ISA = qw( FS::m2m_Common FS::Record ); =head1 NAME @@ -48,17 +48,23 @@ from FS::Record. The following fields are currently supported: =item agent - Text name of this agent -=item typenum - Agent type. See L +=item typenum - Agent type (see L) -=item prog - For future use. +=item ticketing_queueid - Ticketing Queue -=item freq - For future use. +=item invoice_template - Invoice template name + +=item agent_custnum - Optional agent customer (see L) =item disabled - Disabled flag, empty or 'Y' -=item username - Username for the Agent interface +=item prog - Deprecated (never used) + +=item freq - Deprecated (never used) -=item _password - Password for the Agent interface +=item username - (Deprecated) Username for the Agent interface + +=item _password - (Deprecated) Password for the Agent interface =back @@ -117,6 +123,8 @@ sub check { || $self->ut_number('typenum') || $self->ut_numbern('freq') || $self->ut_textn('prog') + || $self->ut_textn('invoice_template') + || $self->ut_foreign_keyn('agent_custnum', 'cust_main', 'custnum' ) ; return $error if $error; @@ -155,6 +163,18 @@ sub agent_type { qsearchs( 'agent_type', { 'typenum' => $self->typenum } ); } +=item agent_cust_main + +Returns the FS::cust_main object (see L), if any, for this +agent. + +=cut + +sub agent_cust_main { + my $self = shift; + qsearchs( 'cust_main', { 'custnum' => $self->agent_custnum } ); +} + =item pkgpart_hashref Returns a hash reference. The keys of the hash are pkgparts. The value is @@ -322,6 +342,17 @@ sub num_pkg_sql { $sth->fetchrow_arrayref->[0]; } +=item num_inactive_cust_pkg + +Returns the number of inactive customer packages (one-time packages otherwise +unsuspended/uncancelled) for this agent. + +=cut + +sub num_inactive_cust_pkg { + shift->num_pkg_sql(FS::cust_pkg->inactive_sql); +} + =item num_susp_cust_pkg Returns the number of suspended customer packages for this agent.