package FS::svc_domain;
use strict;
-use vars qw( @ISA $whois_hack $conf
+use vars qw( @ISA $whois_hack $conf $smtpmachine
@defaultrecords $soadefaultttl $soaemail $soaexpire $soamachine
$soarefresh $soaretry
);
use Carp;
+use Mail::Internet 1.44;
+use Mail::Header;
use Date::Format;
use Net::Whois 1.0;
use FS::Record qw(fields qsearch qsearchs dbh);
$FS::UID::callback{'FS::domain'} = sub {
$conf = new FS::Conf;
+ $smtpmachine = $conf->config('smtpmachine');
+
@defaultrecords = $conf->config('defaultrecords');
$soadefaultttl = $conf->config('soadefaultttl');
$soaemail = $conf->config('soaemail');
sub table { 'svc_domain'; }
-=item insert
+=item insert [ , OPTION => VALUE ... ]
Adds this domain to the database. If there is an error, returns the error,
otherwise returns false.
appropriate records are added to the domain_record table (see
L<FS::domain_record>).
+Currently available options are: I<depend_jobnum>
+
+If I<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)).
+
=cut
sub insert {
return "Domain not found (see whois)";
}
- $error = $self->SUPER::insert;
+ $error = $self->SUPER::insert(@_);
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;
return "Can't delete a domain which has accounts!"
if qsearch( 'svc_acct', { 'domsvc' => $self->svcnum } );
+ return "Can't delete a domain with (svc_acct_sm) mail aliases!"
+ if defined( $FS::Record::dbdef->table('svc_acct_sm') )
+ && qsearch('svc_acct_sm', { 'domsvc' => $self->svcnum } );
+
#return "Can't delete a domain with (domain_record) zone entries!"
# if qsearch('domain_record', { 'svcnum' => $self->svcnum } );