NAME

FS::agent_type - Object methods for agent_type records


SYNOPSIS

  use FS::agent_type;

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

  $error = $record->insert;

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

  $error = $record->delete;

  $error = $record->check;

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

  @type_pkgs = $record->type_pkgs;

  @pkgparts = $record->pkgpart;


DESCRIPTION

An FS::agent_type object represents an agent type. Every agent (see FS::agent) has an agent type. Agent types define which packages (see FS::part_pkg) may be purchased by customers (see FS::cust_main), via FS::type_pkgs records (see FS::type_pkgs). FS::agent_type inherits from FS::Record. The following fields are currently supported:

typenum - primary key (assigned automatically for new agent types)
atype - Text name of this agent type


METHODS

new HASHREF

Creates a new agent type. To add the agent type to the database, see insert.

insert

Adds this agent type to the database. If there is an error, returns the error, otherwise returns false.

delete

Deletes this agent type from the database. Only agent types with no agents 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 type. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.

pkgpart_hashref

Returns a hash reference. The keys of the hash are pkgparts. The value is true iff this agent may purchase the specified package definition. See FS::part_pkg.

type_pkgs

Returns all FS::type_pkgs objects (see FS::type_pkgs) for this agent type.

pkgpart

Returns the pkgpart of all package definitions (see FS::part_pkg) for this agent type.


VERSION

$Id: agent_type.html,v 1.2 2000-03-03 18:22:42 ivan Exp $


BUGS


SEE ALSO

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