X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fagent.pm;h=fc234334d7dced7809d651fdfbb1f21874c9483b;hb=e322fbb08d0f837be3f3f8e7c92a4a5bc75030ad;hp=721749956c49b38a76427fb3077b87553bcdc3a6;hpb=7ff73ebf72cb30c9e9b8135038c30832d8f9188b;p=freeside.git diff --git a/FS/FS/agent.pm b/FS/FS/agent.pm index 721749956..fc234334d 100644 --- a/FS/FS/agent.pm +++ b/FS/FS/agent.pm @@ -1,9 +1,9 @@ package FS::agent; -use base qw( FS::m2m_Common FS::m2name_Common FS::Record ); +use base qw( FS::Commission_Mixin FS::m2m_Common FS::m2name_Common FS::Record ); use strict; use vars qw( @ISA ); -use Business::CreditCard 0.28; +use Business::CreditCard 0.35; use FS::Record qw( dbh qsearch qsearchs ); use FS::cust_main; use FS::cust_pkg; @@ -618,6 +618,28 @@ sub num_cancel_cust_pkg { shift->num_pkg_sql(FS::cust_pkg->cancel_sql); } +=item num_on_hold_cust_pkg + +Returns the number of inactive customer packages (one-time packages otherwise +unsuspended/uncancelled) for this agent. + +=cut + +sub num_on_hold_cust_pkg { + shift->num_pkg_sql(FS::cust_pkg->on_hold_sql); +} + +=item num_not_yet_billed_cust_pkg + +Returns the number of inactive customer packages (one-time packages otherwise +unsuspended/uncancelled) for this agent. + +=cut + +sub num_not_yet_billed_cust_pkg { + shift->num_pkg_sql(FS::cust_pkg->not_yet_billed_sql); +} + =item generate_reg_codes NUM PKGPART_ARRAYREF Generates the specified number of registration codes, allowing purchase of the @@ -709,6 +731,16 @@ sub num_sales { $sth->fetchrow_arrayref->[0]; } +sub commission_where { + my $self = shift; + 'cust_credit.commission_agentnum = ' . $self->agentnum; +} + +sub sales_where { + my $self = shift; + 'cust_main.agentnum = ' . $self->agentnum; +} + =back =head1 BUGS