[freeside-commits] freeside/httemplate/view svc_domain.cgi, 1.28, 1.29

Richard Siddall rsiddall at wavetail.420.am
Mon Jun 15 12:41:31 PDT 2009


Update of /home/cvs/cvsroot/freeside/httemplate/view
In directory wavetail.420.am:/tmp/cvs-serv705/httemplate/view

Modified Files:
	svc_domain.cgi 
Log Message:
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.


Index: svc_domain.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/view/svc_domain.cgi,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- svc_domain.cgi	16 Mar 2009 05:54:34 -0000	1.28
+++ svc_domain.cgi	15 Jun 2009 19:41:29 -0000	1.29
@@ -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>&nbsp;
+%     }
+%     if ( defined($ops{'transfer'}) ) {
+    <A HREF="<% ${p} %>edit/process/domreg.cgi?op=transfer&svcnum=<% $svcnum %>">Transfer to <% $registrar->{'name'} %></A>&nbsp;
+%     }
+%     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">&nbsp;
+    </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 @@
 
 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>



More information about the freeside-commits mailing list