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


METHODS

new HASHREF
Creates a new domain. To add the domain to the database, see insert.

insert
Adds this domain to the database. If there is an error, returns the error, otherwise returns false.

The additional fields pkgnum and svcpart (see the FS::cust_svc manpage) 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 or M for transfers.

A registration or transfer email will be submitted unless $FS::svc_domain::whois_hack is true.

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 the FS::cust_pkg manpage) 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 machines are defined in the nsmachines configuration file, NS records are added to the domain_record table (see the FS::domain_record manpage).

If any machines are defined in the mxmachines configuration file, MX records are added to the domain_record table (see the FS::domain_record manpage).

Any problems adding FS::domain_record records will emit warnings, but will not return errors from this method. If your configuration files are correct you shouln't have any problems.

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 the FS::cust_pkg manpage).

unsuspend
Just returns false (no error) for now.

Called by the unsuspend method of FS::cust_pkg (see the FS::cust_pkg manpage).

cancel
Just returns false (no error) for now.

Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage).

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 the FS::part_svc manpage.

whois
Returns the Net::Whois::Domain object (see the Net::Whois manpage) 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.)

_whois
Depriciated.

submit_internic
Submits a registration email for this domain.


VERSION

$Id: svc_domain.html,v 1.3 2001-04-23 12:40:31 ivan Exp $


BUGS

All BIND/DNS fields should be included (and exported).

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

the FS::svc_Common manpage, the FS::Record manpage, the FS::Conf manpage, the FS::cust_svc manpage, the FS::part_svc manpage, the FS::cust_pkg manpage, the Net::Whois manpage, ssh, dot-qmail, schema.html from the base documentation, config.html from the base documentation.