communigate: domain account defaults, RT#7083
[freeside.git] / httemplate / view / svc_domain / basics.html
1 Service #<B><% $svcnum %></B>
2 % #if ( $conf->exists('svc_domain-edit_domain') ) {
3   | <A HREF="<%$p%>edit/svc_domain.cgi?<%$svcnum%>">Edit this domain</A>
4 % #}
5
6 <% &ntable("#cccccc") %><TR><TD><% &ntable("#cccccc",2) %>
7
8 <TR>
9   <TD ALIGN="right">Service</TD>
10   <TD BGCOLOR="#ffffff"><% $part_svc->svc %></TD>
11 </TR>
12
13 <TR>
14   <TD ALIGN="right">Domain</TD>
15   <TD BGCOLOR="#ffffff">
16     <B><% $domain %></B>
17     <A HREF="<% ${p} %>misc/whois.cgi?custnum=<%$custnum%>;svcnum=<%$svcnum%>;domain=<%$domain%>">(view whois information)</A>
18   </TD>
19 </TR>
20
21 % if ($export) {
22   <TR>
23     <TD ALIGN="right">Registration status</TD>
24     <TD BGCOLOR="#ffffff"><B><% $status %></B>
25
26 %   if ( $FS::CurrentUser::CurrentUser->access_right('Manage domain registration') ) {
27 %     if ( defined($ops{'register'}) ) {
28     <A HREF="<% ${p} %>edit/process/domreg.cgi?op=register&svcnum=<% $svcnum %>">Register at <% $registrar->{'name'} %></A>&nbsp;
29 %     }
30 %     if ( defined($ops{'transfer'}) ) {
31     <A HREF="<% ${p} %>edit/process/domreg.cgi?op=transfer&svcnum=<% $svcnum %>">Transfer to <% $registrar->{'name'} %></A>&nbsp;
32 %     }
33 %     if ( defined($ops{'renew'}) ) {
34     <A HREF="<% ${p} %>edit/process/domreg.cgi?op=renew&svcnum=<% $svcnum %>&period=1">Renew at <% $registrar->{'name'} %></A>&nbsp;
35 %     }
36 %     if ( defined($ops{'revoke'}) ) {
37     <A HREF="<% ${p} %>edit/process/domreg.cgi?op=revoke&svcnum=<% $svcnum %>">Revoke</A>
38 %     }
39 %   }
40
41     </TD>
42   </TR>
43 % }
44
45 % if ( $communigate ) {
46
47   <TR>
48     <TD ALIGN="right">Administrator domain</TD>
49     <TD BGCOLOR="#ffffff">
50 %     if ( $svc_domain->parent_svcnum ) {
51 % #XXX agent-virt aware the link
52         <A HREF="svc_domain.cgi?<% $svc_domain->parent_svcnum %>"><% $svc_domain->parent_svc_x->domain %></A>
53 %     } else {
54         <I>(none)</I>
55 %     }
56     </TD>
57   </TR>
58
59   <TR>
60     <TD ALIGN="right">Aliases</TD>
61     <TD BGCOLOR="#ffffff"><% $svc_domain->cgp_aliases %></TD>
62   </TR>
63
64 % }
65
66 % if ( $communigate && $svc_domain->max_accounts ) {
67   <TR>
68     <TD ALIGN="right">Maximum number of Accounts</TD>
69     <TD BGCOLOR="#ffffff"><% $svc_domain->max_accounts %></TD>
70   </TR>
71 % }
72
73 <TR>
74   <TD ALIGN="right">Catch all email</TD>
75   <TD BGCOLOR="#ffffff"><% $email ? "<B>$email</B>" : '<I>(none)</I>' %>
76 % if ( $FS::CurrentUser::CurrentUser->access_right('Edit domain catchall') ) {
77      <A HREF="<% ${p} %>misc/catchall.cgi?<% $svcnum %>">(change)</A>
78 % }
79   </TD>
80 </TR>
81
82 <TR>
83   <TD ALIGN="right">Enabled services</TD>
84   <TD BGCOLOR="#ffffff"><% $svc_domain->cgp_accessmodes %></TD>
85 </TR>
86
87 </TABLE></TD></TR></TABLE>
88
89 <%init>
90
91 my($svc_domain, %opt) = @_;
92 my $svcnum = $svc_domain->svcnum;
93 my $domain = $svc_domain->domain;
94 my $custnum = $opt{'custnum'};
95 my $part_svc = $opt{'part_svc'};
96
97 my $communigate = scalar($part_svc->part_export('communigate_pro'));
98                 # || scalar($part_svc->part_export('communigate_pro_singledomain'));
99
100 my $email = '';
101 if ($svc_domain->catchall) {
102   my $svc_acct = qsearchs('svc_acct',{'svcnum'=> $svc_domain->catchall } );
103   die "Unknown svcpart" unless $svc_acct;
104   $email = $svc_acct->email;
105 }
106
107 # Find the first export that does domain registration
108 my @exports = grep $_->can('registrar'), $part_svc->part_export;
109 my $export = $exports[0];
110 # If we have a domain registration export, get the registrar object
111 my $registrar;
112 my $status = 'Unknown';
113 my %ops = ();
114 if ($export) {
115         $registrar = $export->registrar;
116         my $domstat = $export->get_status( $svc_domain );
117         if (defined($domstat->{'message'})) {
118                 $status = $domstat->{'message'};
119         } elsif (defined($domstat->{'unregistered'})) {
120                 $status = 'Not registered';
121                 $ops{'register'} = "Register";
122         } elsif (defined($domstat->{'status'})) {
123                 $status = $domstat->{'status'} . ' ' . $domstat->{'contact_email'} . ' ' . $domstat->{'last_update_time'};
124         } elsif (defined($domstat->{'expdate'})) {
125                 $status = "Expires " . $domstat->{'expdate'};
126                 $ops{'renew'} = "Renew";
127                 $ops{'revoke'} = "Revoke";
128         } else {
129                 $status = $domstat->{'reason'};
130                 $ops{'transfer'} = "Transfer";
131         }
132 }
133
134 </%init>