X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_domain.pm;h=8ca30c2ff297f124df1e72d9d9049208a5d21d25;hb=4cacb3fa439b56fc7c9a742b69ec3f6ffd660433;hp=dd4f2c52f8d5a333b68ecf34f424c014c982b4f1;hpb=ad84bf7cfdb56aa1fe268ea315b7a2f7dd768db2;p=freeside.git diff --git a/FS/FS/svc_domain.pm b/FS/FS/svc_domain.pm index dd4f2c52f..8ca30c2ff 100644 --- a/FS/FS/svc_domain.pm +++ b/FS/FS/svc_domain.pm @@ -140,8 +140,8 @@ otherwise returns false. The additional fields I and I (see L) should be defined. An FS::cust_svc record will be created and inserted. -The additional field I should be set to I for new domains or I -for transfers. +The additional field I should be set to I for new domains, I +for transfers, or I for no action (registered elsewhere). A registration or transfer email will be submitted unless $FS::svc_domain::whois_hack is true. @@ -181,13 +181,6 @@ sub insert { local $FS::UID::AutoCommit = 0; my $dbh = dbh; - $error = $self->check; - return $error if $error; - - return "Domain in use (here)" - if qsearchs( 'svc_domain', { 'domain' => $self->domain } ); - - $error = $self->SUPER::insert(@_); if ( $error ) { $dbh->rollback if $oldAutoCommit; @@ -300,7 +293,7 @@ sub replace { if $old->getfield('domain') ne $new->getfield('domain'); # Better to do it here than to force the caller to remember that svc_domain is weird. - $new->setfield(action => 'M'); + $new->setfield(action => 'I'); my $error = $new->SUPER::replace($old, @_); return $error if $error; } @@ -392,6 +385,18 @@ sub check { } +sub _check_duplicate { + my $self = shift; + + $self->lock_table; + + if ( qsearchs( 'svc_domain', { 'domain' => $self->domain } ) ) { + return "Domain in use (here)"; + } else { + return ''; + } +} + =item domain_record =cut