X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_domain.pm;h=47aa8f32e713854ab09fb724aab6988834992f29;hb=c545a57d21341c49674defed65a4243f07b5ebaf;hp=758b399be5a0612fc7713d017e8cd0067a2de579;hpb=802b846f6572d188cff3e4c2c84739a192179ac6;p=freeside.git diff --git a/FS/FS/svc_domain.pm b/FS/FS/svc_domain.pm index 758b399be..47aa8f32e 100644 --- a/FS/FS/svc_domain.pm +++ b/FS/FS/svc_domain.pm @@ -6,6 +6,7 @@ use vars qw( @ISA $whois_hack $conf $soarefresh $soaretry ); use Carp; +use Scalar::Util qw( blessed ); use Date::Format; #use Net::Whois::Raw; use Net::Domain::TLD qw(tld_exists); @@ -289,10 +290,11 @@ returns the error, otherwise returns false. =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');