=over 4
-=item agentnum - primary key (assigned automatically for new agents)
+=item agentnum
-=item agent - Text name of this agent
+primary key (assigned automatically for new agents)
-=item typenum - Agent type (see L<FS::agent_type>)
+=item agent
-=item ticketing_queueid - Ticketing Queue
+Text name of this agent
-=item invoice_template - Invoice template name
+=item typenum
-=item agent_custnum - Optional agent customer (see L<FS::cust_main>)
+Agent type (see L<FS::agent_type>)
-=item disabled - Disabled flag, empty or 'Y'
+=item ticketing_queueid
-=item prog - Deprecated (never used)
+Ticketing Queue
-=item freq - Deprecated (never used)
+=item invoice_template
-=item username - (Deprecated) Username for the Agent interface
+Invoice template name
-=item _password - (Deprecated) Password for the Agent interface
+=item agent_custnum
+
+Optional agent customer (see L<FS::cust_main>)
+
+=item disabled
+
+Disabled flag, empty or 'Y'
+
+=item prog
+
+Deprecated (never used)
+
+=item freq
+
+Deprecated (never used)
+
+=item username
+
+(Deprecated) Username for the Agent interface
+
+=item _password
+
+(Deprecated) Password for the Agent interface
=back
|| $self->ut_textn('prog')
|| $self->ut_textn('invoice_template')
|| $self->ut_foreign_keyn('agent_custnum', 'cust_main', 'custnum' )
+ || $self->ut_numbern('ticketing_queueid')
;
return $error if $error;
sub ticketing_queue {
my $self = shift;
FS::TicketSystem->queue($self->ticketing_queueid);
-};
+}
=item payment_gateway [ OPTION => VALUE, ... ]
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
$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