$soarefresh $soaretry
);
use Carp;
+use Scalar::Util qw( blessed );
use Date::Format;
#use Net::Whois::Raw;
use Net::Domain::TLD qw(tld_exists);
The additional fields I<pkgnum> and I<svcpart> (see L<FS::cust_svc>) should be
defined. An FS::cust_svc record will be created and inserted.
-The additional field I<action> should be set to I<N> for new domains or I<M>
-for transfers.
+The additional field I<action> should be set to I<N> for new domains, I<M>
+for transfers, or I<I> for no action (registered elsewhere).
A registration or transfer email will be submitted unless
$FS::svc_domain::whois_hack is true.
=cut
sub replace {
- my ( $new, $old ) = ( shift, shift );
+ my $new = shift;
- # We absolutely have to have an old vs. new record to make this work.
- $old = $new->replace_old unless defined($old);
+ my $old = ( blessed($_[0]) && $_[0]->isa('FS::Record') )
+ ? shift
+ : $new->replace_old;
return "Can't change domain - reorder."
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;
}
or $self->ut_numbern('setup_date')
or $self->ut_numbern('renewal_interval')
or $self->ut_numbern('expiration_date')
- or $self->ut_textn('purpose')
or $self->SUPER::check;
}