package FS::part_export::domreg_opensrs;
-use vars qw(@ISA %info %options $conf);
+use vars qw(@ISA %info %options $conf $me $DEBUG);
use Tie::IxHash;
use DateTime;
use FS::Record qw(qsearchs qsearch);
=cut
@ISA = qw(FS::part_export::null);
+$me = '[' . __PACKAGE__ . ']';
+$DEBUG = 0;
my @tldlist = qw/com net org biz info name mobi at be ca cc ch cn de dk es eu fr it mx nl tv uk us/;
sub _export_insert_on_payment {
my( $self, $svc_domain ) = ( shift, shift );
+ warn "$me:_export_insert_on_payment called\n" if $DEBUG;
return '' unless $self->option('wait_for_pay');
my $queue = new FS::queue {
'svcnum' => $svc_domain->svcnum,
'job' => 'FS::part_export::domreg_opensrs::renew_through',
};
- $queue->insert( $self, $svc_domain->svcnum ); #_export_insert with 'R' action?
-
- return '';
+ $queue->insert( $self, $svc_domain ); #_export_insert with 'R' action?
}
## Domain registration exports do nothing on replace. Mainly because we haven't decided what they should do.
my $srs = $self->get_srs;
- my $cookie = $srs->get_cookie( $self->option('masterdomain') );
- if (!$cookie) {
- return "Unable to get cookie at OpenSRS: " . $srs->last_response();
- }
+# cookie not required for registration
+# my $cookie = $srs->get_cookie( $self->option('masterdomain') );
+# if (!$cookie) {
+# return "Unable to get cookie at OpenSRS: " . $srs->last_response();
+# }
# return "Domain registration not enabled" if !$self->option('register');
return $srs->last_response() if !$srs->register_domain( $svc_domain->domain, $c);
Attempts to renew the domain through the specified date. If no date is
provided it is gleaned from the associated cust_pkg bill date
-Like most export functions, returns an error message on failure or undef on success.
+Like some export functions, dies on failure or returns undef on success.
+It is always called from the queue.
=cut
sub renew_through {
my ( $self, $svc_domain, $date ) = @_;
+ warn "$me: renew_through called\n" if $DEBUG;
eval "use Net::OpenSRS;";
- return $@ if $@;
+ die $@ if $@;
unless ( $date ) {
my $cust_pkg = $svc_domain->cust_svc->cust_pkg;
- return "Can't renew: no date specified and domain is not in a package."
+ die "Can't renew: no date specified and domain is not in a package."
unless $cust_pkg;
$date = $cust_pkg->bill;
}
my $err = $self->is_supported_domain( $svc_domain );
- return $err if $err;
-
- my $srs = $self->get_srs;
+ die $err if $err;
- $rv = $srs->check_transfer($svc_domain->domain);
- return "Domain ". $svc_domain->domain. " is not renewable"
+ warn "$me: checking status\n" if $DEBUG;
+ my $rv = $self->get_status($svc_domain);
+ die "Domain ". $svc_domain->domain. " is not renewable"
unless $rv->{expdate};
- return "Can't parse expiration date for ". $svc_domain->domain
+ die "Can't parse expiration date for ". $svc_domain->domain
unless $rv->{expdate} =~ /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/;
my ($year,$month,$day,$hour,$minute,$second) = ($1,$2,$3,$4,$5,$6);
$years++;
$exp->add( 'years' => 1 );
- return "Can't renew ". $svc_domain->domain. " for more than 10 years."
+ die "Can't renew ". $svc_domain->domain. " for more than 10 years."
if $years > 10; #no infinite loop
}
+ return '' unless $years;
+
+ warn "$me: renewing ". $svc_domain->domain. " for $years years\n" if $DEBUG;
+ my $srs = $self->get_srs;
$rv = $srs->make_request(
{
action => 'renew',
}
}
);
- return $rv->{response_text} unless $rv->{is_success};
+ die $rv->{response_text} unless $rv->{is_success};
return ''; # Should only get here if renewal succeeded
}