X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fagent.pm;h=e40ef09dbf25d14855e6358a87810554fd7b5d8d;hb=a0732f52fdcc2bca7c399d1249ccceb191de51cd;hp=0a0e4f7ba849a310c3e38afedb72ac90ae01fd82;hpb=6ed5d51b3a72e2935dd5d084c9e24567150b03ca;p=freeside.git diff --git a/FS/FS/agent.pm b/FS/FS/agent.pm index 0a0e4f7ba..e40ef09db 100644 --- a/FS/FS/agent.pm +++ b/FS/FS/agent.pm @@ -2,12 +2,13 @@ package FS::agent; use strict; use vars qw( @ISA ); +#use Crypt::YAPassGen; use FS::Record qw( dbh qsearch qsearchs ); use FS::cust_main; use FS::cust_pkg; use FS::agent_type; use FS::reg_code; -#use Crypt::YAPassGen; +use FS::TicketSystem; @ISA = qw( FS::Record ); @@ -167,6 +168,18 @@ sub pkgpart_hashref { $self->agent_type->pkgpart_hashref; } +=item ticketing_queue + +Returns the queue name corresponding with the id from the I +field, or the empty string. + +=cut + +sub ticketing_queue { + my $self = shift; + FS::TicketSystem->queue($self->ticketing_queueid); +}; + =item num_prospect_cust_main Returns the number of prospects (customers with no packages ever ordered) for @@ -182,7 +195,7 @@ sub num_sql { my( $self, $sql ) = @_; my $statement = "SELECT COUNT(*) FROM cust_main WHERE agentnum = ? AND $sql"; my $sth = dbh->prepare($statement) or die dbh->errstr." preparing $statement"; - $sth->execute($self->agentnum) or die $sth->errstr. "executing $statement"; + $sth->execute($self->agentnum) or die $sth->errstr. " executing $statement"; $sth->fetchrow_arrayref->[0]; } @@ -208,7 +221,8 @@ sub cust_main_sql { =item num_active_cust_main -Returns the number of active customers for this agent. +Returns the number of active customers for this agent (customers with active +recurring packages). =cut @@ -226,6 +240,28 @@ sub active_cust_main { shift->cust_main_sql(FS::cust_main->active_sql); } +=item num_inactive_cust_main + +Returns the number of inactive customers for this agent (customers with no +active recurring packages, but otherwise unsuspended/uncancelled). + +=cut + +sub num_inactive_cust_main { + shift->num_sql(FS::cust_main->inactive_sql); +} + +=item inactive_cust_main + +Returns the inactive customers for this agent, as cust_main objects. + +=cut + +sub inactive_cust_main { + shift->cust_main_sql(FS::cust_main->inactive_sql); +} + + =item num_susp_cust_main Returns the number of suspended customers for this agent. @@ -286,6 +322,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.