X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fsvc_domain.pm;h=2642146ea9397be69e27ce506a599bf9bed1701e;hp=32b94563d2d96e66d9470bec62edc7c189afea19;hb=08feb6698a96eed199404b8319a39ec4c02a084e;hpb=44c2f829e36a7751e0c97a4dd33dff8e3f192a30 diff --git a/FS/FS/svc_domain.pm b/FS/FS/svc_domain.pm index 32b94563d..2642146ea 100644 --- a/FS/FS/svc_domain.pm +++ b/FS/FS/svc_domain.pm @@ -7,7 +7,7 @@ use vars qw( @ISA $whois_hack $conf ); use Carp; use Date::Format; -use Net::Whois 1.0; +#use Net::Whois::Raw; use FS::Record qw(fields qsearch qsearchs dbh); use FS::Conf; use FS::svc_Common; @@ -86,7 +86,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 +112,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 +151,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; @@ -250,6 +256,8 @@ sub replace { 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'); my $error = $new->SUPER::replace($old); return $error if $error; } @@ -334,7 +342,8 @@ sub check { " (or unknown registry - try \$whois_hack)"; } - $recref->{action} =~ /^(M|N)$/ or return "Illegal action"; + $recref->{action} =~ /^(M|N)$/ + or return "Illegal action: ". $recref->{action}; $recref->{action} = $1; if ( $recref->{catchall} ne '' ) { @@ -342,7 +351,8 @@ sub check { return "Unknown catchall" unless $svc_acct; } - $self->ut_textn('purpose'); + $self->ut_textn('purpose') + or $self->SUPER::check; } @@ -377,15 +387,16 @@ sub catchall_svc_acct { =item whois -Returns the Net::Whois::Domain object (see L) for this domain, or -undef if the domain is not found in whois. +# Returns the Net::Whois::Domain object (see L) for this domain, or +# undef if the domain is not found in whois. (If $FS::svc_domain::whois_hack is true, returns that in all cases instead.) =cut sub whois { - $whois_hack or new Net::Whois::Domain $_[0]->domain; + #$whois_hack or new Net::Whois::Domain $_[0]->domain; + $whois_hack or die "whois_hack not set...\n"; } =item _whois