bind: allow adding slave domains too
[freeside.git] / httemplate / view / svc_domain.cgi
index 28214f0..b70ac8f 100755 (executable)
@@ -30,7 +30,9 @@ if ($svc_domain->catchall) {
 
 my $domain = $svc_domain->domain;
 
-print header('Domain View', menubar(
+%>
+
+<%= header('Domain View', menubar(
   ( ( $pkgnum || $custnum )
     ? ( "View this package (#$pkgnum)" => "${p}view/cust_pkg.cgi?$pkgnum",
         "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
@@ -39,43 +41,66 @@ print header('Domain View', menubar(
           "${p}misc/cancel-unaudited.cgi?$svcnum" )
   ),
   "Main menu" => $p,
-)),
-      "Service #$svcnum",
-      "<BR>Service: <B>", $part_svc->svc, "</B>",
-      "<BR>Domain name: <B>$domain</B>.",
-      qq!<BR>Catch all email <A HREF="${p}misc/catchall.cgi?$svcnum">(change)</A>:!,
-      $email ? "<B>$email</B>." : "<I>(none)<I>",
-      qq!<BR><BR><A HREF="http://www.geektools.com/cgi-bin/proxy.cgi?query=$domain;targetnic=auto">View whois information.</A>!,
-      '<BR><BR>',
-      '<SCRIPT>function areyousure(href) {
-        if ( confirm("Remove this record?") == true )
-          window.location.href = href;
-        }
-        </SCRIPT>',
-      ntable("",2),
-      '<tr><th>Zone</th><th>Type</th><th>Data</th></tr>',
-;
+)) %>
 
+Service #<%= $svcnum %>
+<BR>Service: <B><%= $part_svc->svc %></B>
+<BR>Domain name: <B><%= $domain %></B>
+<BR>Catch all email <A HREF="${p}misc/catchall.cgi?<%= $svcnum %>">(change)</A>:
+<%= $email ? "<B>$email</B>" : "<I>(none)<I>" %>
+<BR><BR><A HREF="http://www.geektools.com/cgi-bin/proxy.cgi?query=<%=$domain%>;targetnic=auto">View whois information.</A>
+<BR><BR>
+<SCRIPT>
+  function areyousure(href) {
+    if ( confirm("Remove this record?") == true )
+      window.location.href = href;
+  }
+</SCRIPT>
 
-foreach my $domain_record ( $svc_domain->domain_record ) {
-  print '<tr><td>'. $domain_record->reczone. '</td>'.
-        '<td>'. $domain_record->recaf. ' '. $domain_record->rectype. '</td>'.
-        '<td>'. $domain_record->recdata;
-  print qq! (<A HREF="javascript:areyousure('${p}misc/delete-domain_record.cgi?!
-        .$domain_record->recnum. qq!')">delete</A>)!
-    unless $domain_record->rectype eq 'SOA';
-  print '</td></tr>';
-}
-print '</table><BR>'.
-      qq!<FORM METHOD="POST" ACTION="${p}edit/process/domain_record.cgi">!.
-      qq!<INPUT TYPE="hidden" NAME="svcnum" VALUE="$svcnum">!.
-      '<INPUT TYPE="text" NAME="reczone"> '.
-      '<INPUT TYPE="hidden" NAME="recaf" VALUE="IN">IN '.
-      '<SELECT NAME="rectype">'.
-        join('', map qq!<OPTION VALUE="$_">$_</OPTION>!, qw(A NS CNAME MX) ).
-        '</SELECT>'.
-      ' <INPUT TYPE="text" NAME="recdata"> <INPUT TYPE="submit" VALUE="Add">'.
-      '<BR><BR>'. joblisting({'svcnum'=>$svcnum}, 1).
-      '</BODY></HTML>';
+<% my @records; if ( @records = $svc_domain->domain_record ) { %>
+  <%= ntable("",2) %>
+  <tr><th>Zone</th><th>Type</th><th>Data</th></tr>
 
-%>
+  <% foreach my $domain_record ( @records ) {
+       my $type = $domain_record->rectype eq '_mstr'
+                    ? "(slave)"
+                    : $domain_record->recaf. ' '. $domain_record->rectype;
+  %>
+
+    <tr><td><%= $domain_record->reczone %></td>
+    <td><%= $type %></td>
+    <td><%= $domain_record->recdata %>
+
+    <% unless ( $domain_record->rectype eq 'SOA' ) { %>
+      (<A HREF="javascript:areyousure('<%=$p%>misc/delete-domain_record.cgi?<%=$domain_record->recnum%>')">delete</A>)
+    <% } %>
+    </td></tr>
+  <% } %>
+  </table>
+<% } %>
+
+<BR>
+<FORM METHOD="POST" ACTION="<%=$p%>edit/process/domain_record.cgi">
+<INPUT TYPE="hidden" NAME="svcnum" VALUE="<%=$svcnum%>">
+<INPUT TYPE="text" NAME="reczone"> 
+<INPUT TYPE="hidden" NAME="recaf" VALUE="IN"> IN 
+ <SELECT NAME="rectype">
+<% foreach (qw( A NS CNAME MX) ) { %>
+  <OPTION VALUE="<%=$_%>"><%=$_%></OPTION>
+<% } %>
+ </SELECT>
+<INPUT TYPE="text" NAME="recdata"> <INPUT TYPE="submit" VALUE="Add record">
+</FORM><BR><BR>or<BR><BR>
+<FORM METHOD="POST" ACTION="<%=$p%>edit/process/domain_record.cgi">
+<INPUT TYPE="hidden" NAME="svcnum" VALUE="<%=$svcnum%>">
+
+<% if ( @records ) { %> Delete all records and <% } %>
+Slave from nameserver IP 
+<INPUT TYPE="hidden" NAME="svcnum" VALUE="<%=$svcnum%>">
+<INPUT TYPE="hidden" NAME="reczone" VALUE="@"> 
+<INPUT TYPE="hidden" NAME="recaf" VALUE="IN">
+<INPUT TYPE="hidden" NAME="rectype" VALUE="_mstr">
+<INPUT TYPE="text" NAME="recdata"> <INPUT TYPE="submit" VALUE="Slave domain">
+</FORM>
+<BR><BR><%= joblisting({'svcnum'=>$svcnum}, 1) %>
+</BODY></HTML>