diff options
author | rsiddall <rsiddall> | 2009-06-15 19:41:29 +0000 |
---|---|---|
committer | rsiddall <rsiddall> | 2009-06-15 19:41:29 +0000 |
commit | 0cbb171da2cf3c7059612c0f2fbcf4a8bb80ab58 (patch) | |
tree | 2aa5edefbfbe597e7b8e30930249e61fbeb7fea1 /httemplate/view | |
parent | 259799d1ba225ff894b67f5e7c3f70c6af26c5f1 (diff) |
Add domain registration operations to the View Domain screen, if the domain
has an associated export supporting registration. Shows the domain status
and allows registration, transfer, revocation, or renewal. Revocation
almost never works since the registries impose very short windows after
initial registration.
Also updated the OpenSRS registration export to support the additional
operations.
Diffstat (limited to 'httemplate/view')
-rwxr-xr-x | httemplate/view/svc_domain.cgi | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/httemplate/view/svc_domain.cgi b/httemplate/view/svc_domain.cgi index 36577d39c..1e93b9461 100755 --- a/httemplate/view/svc_domain.cgi +++ b/httemplate/view/svc_domain.cgi @@ -7,9 +7,38 @@ ) )) %> +<% include('/elements/error.html') %> + Service #<% $svcnum %> <BR>Service: <B><% $part_svc->svc %></B> <BR>Domain name: <B><% $domain %></B> +% if ($export) { +<BR>Status: <B><% $status %></B> +% if ( $FS::CurrentUser::CurrentUser->access_right('Change customer service') ) { +% if ( defined($ops{'register'}) ) { + <A HREF="<% ${p} %>edit/process/domreg.cgi?op=register&svcnum=<% $svcnum %>">Register at <% $registrar->{'name'} %></A> +% } +% if ( defined($ops{'transfer'}) ) { + <A HREF="<% ${p} %>edit/process/domreg.cgi?op=transfer&svcnum=<% $svcnum %>">Transfer to <% $registrar->{'name'} %></A> +% } +% if ( defined($ops{'renew'}) ) { + <FORM NAME="Renew" METHOD="POST" ACTION="<% ${p} %>edit/process/domreg.cgi"> + <INPUT TYPE="hidden" NAME="svcnum" VALUE="<%$svcnum%>"> + <INPUT TYPE="hidden" NAME="op" VALUE="renew"> + <SELECT NAME="period"> +% foreach (1..10) { + <OPTION VALUE="<%$_%>"><%$_%> year<% $_ > 1 ? 's' : '' %></OPTION> +% } + </SELECT> + <INPUT TYPE="submit" VALUE="Renew"> + </FORM> +% } +% if ( defined($ops{'revoke'}) ) { + <A HREF="<% ${p} %>edit/process/domreg.cgi?op=revoke&svcnum=<% $svcnum %>">Revoke</A> +% } +% } +% } + % if ( $FS::CurrentUser::CurrentUser->access_right('Edit domain catchall') ) { <BR>Catch all email <A HREF="<% ${p} %>misc/catchall.cgi?<% $svcnum %>">(change)</A>: % } else { @@ -158,4 +187,37 @@ if ($svc_domain->catchall) { my $domain = $svc_domain->domain; +my $status = 'Unknown'; +my %ops = (); + +my @exports = $part_svc->part_export(); + +my $registrar; +my $export; + +# Find the first export that does domain registration +foreach (@exports) { + $export = $_ if $_->can('registrar'); +} +# If we have a domain registration export, get the registrar object +if ($export) { + $registrar = $export->registrar; + my $domstat = $export->get_status( $svc_domain ); + if (defined($domstat->{'message'})) { + $status = $domstat->{'message'}; + } elsif (defined($domstat->{'unregistered'})) { + $status = 'Not registered'; + $ops{'register'} = "Register"; + } elsif (defined($domstat->{'status'})) { + $status = $domstat->{'status'} . ' ' . $domstat->{'contact_email'} . ' ' . $domstat->{'last_update_time'}; + } elsif (defined($domstat->{'expdate'})) { + $status = "Expires " . $domstat->{'expdate'}; + $ops{'renew'} = "Renew"; + $ops{'revoke'} = "Revoke"; + } else { + $status = $domstat->{'reason'}; + $ops{'transfer'} = "Transfer"; + } +} + </%init> |