Freeside:1.9:Documentation:Developer/FS/agent

From Freeside
< Freeside:1.9:Documentation:Developer‎ | FS
Revision as of 16:22, 3 October 2007 by Ivan (talk | contribs) (import from POD)

Jump to: navigation, search

NAME

FS::agent - Object methods for agent records

SYNOPSIS

 use FS::agent;

 $record = new FS::agent \%hash;
 $record = new FS::agent { 'column' => 'value' };

 $error = $record->insert;

 $error = $new_record->replace($old_record);

 $error = $record->delete;

 $error = $record->check;

 $agent_type = $record->agent_type;

 $hashref = $record->pkgpart_hashref;
 #may purchase $pkgpart if $hashref->{$pkgpart};

DESCRIPTION

An FS::agent object represents an agent. Every customer has an agent. Agents can be used to track things like resellers or salespeople. FS::agent inherits from FS::Record. The following fields are currently supported:

agentnum - primary key (assigned automatically for new agents); agent - Text name of this agent; typenum - Agent type. See FS::agent_type; prog - For future use.; freq - For future use.; disabled - Disabled flag, empty or 'Y'; username - Username for the Agent interface; _password - Password for the Agent interface

METHODS

new HASHREF
Creates a new agent. To add the agent to the database, see "insert".
insert
Adds this agent to the database. If there is an error, returns the error, otherwise returns false.
delete
Deletes this agent from the database. Only agents with no customers can be deleted. If there is an error, returns the error, otherwise returns false.
replace OLD_RECORD
Replaces OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.
check
Checks all fields to make sure this is a valid agent. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
agent_type
Returns the FS::agent_type object (see FS::agent_type) for this agent.
pkgpart_hashref
Returns a hash reference. The keys of the hash are pkgparts. The value is true if this agent may purchase the specified package definition. See FS::part_pkg.
ticketing_queue
Returns the queue name corresponding with the id from the ticketing_queueid field, or the empty string.
num_prospect_cust_main
Returns the number of prospects (customers with no packages ever ordered) for this agent.
prospect_cust_main
Returns the prospects (customers with no packages ever ordered) for this agent, as cust_main objects.
num_active_cust_main
Returns the number of active customers for this agent (customers with active recurring packages).
active_cust_main
Returns the active customers for this agent, as cust_main objects.
num_inactive_cust_main
Returns the number of inactive customers for this agent (customers with no active recurring packages, but otherwise unsuspended/uncancelled).
inactive_cust_main
Returns the inactive customers for this agent, as cust_main objects.
num_susp_cust_main
Returns the number of suspended customers for this agent.
susp_cust_main
Returns the suspended customers for this agent, as cust_main objects.
num_cancel_cust_main
Returns the number of cancelled customer for this agent.
cancel_cust_main
Returns the cancelled customers for this agent, as cust_main objects.
num_active_cust_pkg
Returns the number of active customer packages for this agent.
num_inactive_cust_pkg
Returns the number of inactive customer packages (one-time packages otherwise unsuspended/uncancelled) for this agent.
num_susp_cust_pkg
Returns the number of suspended customer packages for this agent.
num_cancel_cust_pkg
Returns the number of cancelled customer packages for this agent.
generate_reg_codes NUM PKGPART_ARRAYREF
Generates the specified number of registration codes, allowing purchase of the specified package definitions. Returns an array reference of the newly generated codes, or a scalar error message.
num_reg_code
Returns the number of unused registration codes for this agent.
num_prepay_credit
Returns the number of unused prepaid cards for this agent.

BUGS

SEE ALSO

FS::Record, FS::agent_type, FS::cust_main, FS::part_pkg, schema.html from the base documentation.