Difference between revisions of "Freeside:3:Documentation:Developer/FS/svc domain"

From Freeside
Jump to: navigation, search
m (Edit via perl MediaWiki framework (1.13))
(No difference)

Revision as of 20:06, 27 June 2012

NAME

FS::svc_domain - Object methods for svc_domain records

SYNOPSIS

 use FS::svc_domain;

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

 $error = $record->insert;

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

 $error = $record->delete;

 $error = $record->check;

 $error = $record->suspend;

 $error = $record->unsuspend;

 $error = $record->cancel;

DESCRIPTION

An FS::svc_domain object represents a domain. FS::svc_domain inherits from FS::svc_Common. The following fields are currently supported:

svcnum - primary key (assigned automatically for new accounts); domain; catchall - optional svcnum of an svc_acct record, designating an email catchall account.; suffix -; parent_svcnum -; registrarnum - Registrar (see FS::registrar); registrarkey - Registrar key or password for this domain; setup_date - UNIX timestamp; renewal_interval - Number of days before expiration date to start renewal; expiration_date - UNIX timestamp; max_accounts; au_eligibility_type
AU-specific field for domain registrations
au_registrant_name
AU-specific field for domain registrations

METHODS

new HASHREF
Creates a new domain. To add the domain to the database, see "insert".
au_eligibility_type_values; label
Returns the domain.
insert [ , OPTION => VALUE ... ]
Adds this domain to the database. If there is an error, returns the error, otherwise returns false.
The additional fields pkgnum and svcpart (see FS::cust_svc) should be defined. An FS::cust_svc record will be created and inserted.
The additional field action should be set to N for new domains, M for transfers, or I for no action (registered elsewhere).
The additional field email can be used to manually set the admin contact email address on this email. Otherwise, the svc_acct records for this package (see FS::cust_pkg) are searched. If there is exactly one svc_acct record in the same package, it is automatically used. Otherwise an error is returned.
If any soamachine configuration file exists, an SOA record is added to the domain_record table (see <FS::domain_record>).
If any records are defined in the defaultrecords configuration file, appropriate records are added to the domain_record table (see FS::domain_record).
Currently available options are: depend_jobnum
If depend_jobnum is set (to a scalar jobnum or an array reference of jobnums), all provisioning jobs will have a dependancy on the supplied jobnum(s) (they will not run until the specific job(s) complete(s)).
insert_defaultrecords; delete
Deletes this domain from the database. If there is an error, returns the error, otherwise returns false.
The corresponding FS::cust_svc record will be deleted as well.
replace OLD_RECORD
Replaces OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.
suspend
Just returns false (no error) for now.
Called by the suspend method of FS::cust_pkg (see FS::cust_pkg).
unsuspend
Just returns false (no error) for now.
Called by the unsuspend method of FS::cust_pkg (see FS::cust_pkg).
cancel
Just returns false (no error) for now.
Called by the cancel method of FS::cust_pkg (see FS::cust_pkg).
check
Checks all fields to make sure this is a valid domain. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
Sets any fixed values; see FS::part_svc.
domain_record; whois
  1. Returns the Net::Whois::Domain object (see Net::Whois) for this domain, or # undef if the domain is not found in whois.
(If $FS::svc_domain::whois_hack is true, returns that in all cases instead.)

BUGS

Delete doesn't send a registration template.

All registries should be supported.

Should change action to a real field.

The $recref stuff in sub check should be cleaned up.

SEE ALSO

FS::svc_Common, FS::Record, FS::Conf, FS::cust_svc, FS::part_svc, FS::cust_pkg, Net::Whois, schema.html from the base documentation, config.html from the base documentation.