fix real customer numbers showing on view pages, RT#4099/4379
[freeside.git] / httemplate / view / svc_domain.cgi
1 <% include("/elements/header.html",'Domain View', menubar(
2   ( ( $pkgnum || $custnum )
3     ? ( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum",
4       )
5     : ( "Delete this (unaudited) domain" =>
6           "javascript:areyousure('${p}misc/cancel-unaudited.cgi?$svcnum', 'Delete $domain and all records?' )" )
7   )
8 )) %>
9
10 Service #<% $svcnum %>
11 <BR>Service: <B><% $part_svc->svc %></B>
12 <BR>Domain name: <B><% $domain %></B>
13 % if ( $FS::CurrentUser::CurrentUser->access_right('Edit domain catchall') ) {
14     <BR>Catch all email <A HREF="<% ${p} %>misc/catchall.cgi?<% $svcnum %>">(change)</A>:
15 % } else {
16     <BR>Catch all email:
17 % }
18
19 <% $email ? "<B>$email</B>" : "<I>(none)<I>" %>
20 <BR><BR><A HREF="<% ${p} %>misc/whois.cgi?custnum=<%$custnum%>;svcnum=<%$svcnum%>;domain=<%$domain%>">View whois information.</A>
21 <BR><BR>
22 <SCRIPT>
23   function areyousure(href, message) {
24     if ( confirm(message) == true )
25       window.location.href = href;
26   }
27   function slave_areyousure() {
28     return confirm("Remove all records and slave from " + document.SlaveForm.recdata.value + "?");
29   }
30 </SCRIPT>
31
32 % my @records; if ( @records = $svc_domain->domain_record ) { 
33
34   <% include('/elements/table-grid.html') %>
35
36 % my $bgcolor1 = '#eeeeee';
37 %     my $bgcolor2 = '#ffffff';
38 %     my $bgcolor = $bgcolor2;
39
40   <tr>
41     <th CLASS="grid" BGCOLOR="#cccccc">Zone</th>
42     <th CLASS="grid" BGCOLOR="#cccccc">Type</th>
43     <th CLASS="grid" BGCOLOR="#cccccc">Data</th>
44   </tr>
45
46 % foreach my $domain_record ( @records ) {
47 %       my $type = $domain_record->rectype eq '_mstr'
48 %                    ? "(slave)"
49 %                    : $domain_record->recaf. ' '. $domain_record->rectype;
50
51
52     <tr>
53       <td CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $domain_record->reczone %></td>
54       <td CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $type %></td>
55       <td CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $domain_record->recdata %>
56
57 % unless ( $domain_record->rectype eq 'SOA'
58 %          || ! $FS::CurrentUser::CurrentUser->access_right('Edit domain nameservice')
59 %        ) { 
60 %   ( my $recdata = $domain_record->recdata ) =~ s/"/\\'\\'/g;
61       (<A HREF="javascript:areyousure('<%$p%>misc/delete-domain_record.cgi?<%$domain_record->recnum%>', 'Delete \'<% $domain_record->reczone %> <% $type %> <% $recdata %>\' ?' )">delete</A>)
62 % } 
63       </td>
64     </tr>
65
66
67 %   if ( $bgcolor eq $bgcolor1 ) {
68 %      $bgcolor = $bgcolor2;
69 %    } else {
70 %      $bgcolor = $bgcolor1;
71 %    }
72
73 % } 
74
75   </table>
76 % } 
77
78 % if ( $FS::CurrentUser::CurrentUser->access_right('Edit domain nameservice') ) {
79     <BR>
80     <FORM METHOD="POST" ACTION="<%$p%>edit/process/domain_record.cgi">
81       <INPUT TYPE="hidden" NAME="svcnum" VALUE="<%$svcnum%>">
82       <INPUT TYPE="text" NAME="reczone"> 
83       <INPUT TYPE="hidden" NAME="recaf" VALUE="IN"> IN 
84       <SELECT NAME="rectype">
85 %       foreach (qw( A NS CNAME MX PTR TXT) ) { 
86           <OPTION VALUE="<%$_%>"><%$_%></OPTION>
87 %       } 
88       </SELECT>
89       <INPUT TYPE="text" NAME="recdata">
90       <INPUT TYPE="submit" VALUE="Add record">
91     </FORM>
92
93     <BR><BR>
94     or
95     <BR><BR>
96
97     <FORM NAME="SlaveForm" METHOD="POST" ACTION="<%$p%>edit/process/domain_record.cgi">
98       <INPUT TYPE="hidden" NAME="svcnum" VALUE="<%$svcnum%>">
99 %     if ( @records ) { 
100          Delete all records and 
101 %     } 
102       Slave from nameserver IP 
103       <INPUT TYPE="hidden" NAME="svcnum" VALUE="<%$svcnum%>">
104       <INPUT TYPE="hidden" NAME="reczone" VALUE="@"> 
105       <INPUT TYPE="hidden" NAME="recaf" VALUE="IN">
106       <INPUT TYPE="hidden" NAME="rectype" VALUE="_mstr">
107       <INPUT TYPE="text" NAME="recdata">
108       <INPUT TYPE="submit" VALUE="Slave domain" onClick="return slave_areyousure()">
109     </FORM>
110
111 % }
112
113 <BR><BR>
114
115 <% joblisting({'svcnum'=>$svcnum}, 1) %>
116
117 <% include('/elements/footer.html') %>
118 <%init>
119
120 die "access denied"
121   unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
122
123 my($query) = $cgi->keywords;
124 $query =~ /^(\d+)$/;
125 my $svcnum = $1;
126 my $svc_domain = qsearchs({
127   'select'    => 'svc_domain.*',
128   'table'     => 'svc_domain',
129   'addl_from' => ' LEFT JOIN cust_svc  USING ( svcnum  ) '.
130                  ' LEFT JOIN cust_pkg  USING ( pkgnum  ) '.
131                  ' LEFT JOIN cust_main USING ( custnum ) ',
132   'hashref'   => {'svcnum'=>$svcnum},
133   'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
134 });
135 die "Unknown svcnum" unless $svc_domain;
136
137 my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum});
138 my $pkgnum = $cust_svc->getfield('pkgnum');
139 my($cust_pkg, $custnum, $display_custnum);
140 if ($pkgnum) {
141   $cust_pkg =qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
142   $custnum = $cust_pkg->custnum;
143   $custnum = $cust_pkg->cust_main->display_custnum;
144 } else {
145   $cust_pkg = '';
146   $custnum = '';
147 }
148
149 my $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } );
150 die "Unknown svcpart" unless $part_svc;
151
152 my $email = '';
153 if ($svc_domain->catchall) {
154   my $svc_acct = qsearchs('svc_acct',{'svcnum'=> $svc_domain->catchall } );
155   die "Unknown svcpart" unless $svc_acct;
156   $email = $svc_acct->email;
157 }
158
159 my $domain = $svc_domain->domain;
160
161 </%init>