X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_domain.pm;h=f457a7679620686030fef097ab548ad90a1ec4d9;hb=64ff599bc8343e8f474cb270fa8248430502c968;hp=32b94563d2d96e66d9470bec62edc7c189afea19;hpb=44c2f829e36a7751e0c97a4dd33dff8e3f192a30;p=freeside.git diff --git a/FS/FS/svc_domain.pm b/FS/FS/svc_domain.pm index 32b94563d..f457a7679 100644 --- a/FS/FS/svc_domain.pm +++ b/FS/FS/svc_domain.pm @@ -1,11 +1,13 @@ 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); @@ -24,6 +26,8 @@ use FS::queue; $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'); @@ -86,7 +90,7 @@ Creates a new domain. To add the domain to the database, see L<"insert">. 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. @@ -112,6 +116,12 @@ If any records are defined in the I configuration file, appropriate records are added to the domain_record table (see L). +Currently available options are: I + +If I 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 { @@ -145,7 +155,7 @@ sub insert { return "Domain not found (see whois)"; } - $error = $self->SUPER::insert; + $error = $self->SUPER::insert(@_); if ( $error ) { $dbh->rollback if $oldAutoCommit; return $error; @@ -206,6 +216,10 @@ sub delete { 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 } );