first pass at ISPMan integration
[freeside.git] / FS / FS / svc_domain.pm
index c88b3e6..f457a76 100644 (file)
@@ -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');
@@ -212,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 } );
 
@@ -348,8 +356,7 @@ sub check {
     return "Unknown catchall" unless $svc_acct;
   }
 
-  $self->ut_textn('purpose')
-    or $self->SUPER::check;
+  $self->ut_textn('purpose');
 
 }