X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_domain.cgi;h=3fd898ba5cc9c83ff1321ef8367dab7eac62a539;hp=61194a26dcbe4de953294f5b31e6bf75066a7528;hb=e17528c356bb137bcff4c6934a2c7e254202838e;hpb=8f42b751aebda2e7dce2c363bed6f1e15b411b1d
diff --git a/httemplate/view/svc_domain.cgi b/httemplate/view/svc_domain.cgi
index 61194a26d..3fd898ba5 100755
--- a/httemplate/view/svc_domain.cgi
+++ b/httemplate/view/svc_domain.cgi
@@ -1,18 +1,235 @@
-
-<%
+% if ( $custnum ) {
+
+%# <% include("/elements/header.html","View $svcdomain") %>
+ <% include("/elements/header.html","View domain") %>
+ <% include( '/elements/small_custview.html', $custnum, '', 1,
+ "${p}view/cust_main.cgi") %>
+
+
+% } else {
+
+ <% include("/elements/header.html",'View domain', menubar(
+ "Cancel this (unaudited) domain" =>
+ "javascript:areyousure('${p}misc/cancel-unaudited.cgi?$svcnum', 'Delete $domain and all records?')",
+ ))
+ %>
+
+% }
+
+<% include('/elements/error.html') %>
+
+Service #<% $svcnum %>
+% #if ( $conf->exists('svc_domain-edit_domain') ) {
+ | Edit this domain
+% #}
+
+<% &ntable("#cccccc") %>
<% &ntable("#cccccc",2) %>
+
+ |
+ Service |
+ <% $part_svc->svc %> |
+
+
+
+ Domain |
+
+ <% $domain %>
+ (view whois information)
+ |
+
+
+% if ($export) {
+
+ Registration status |
+ <% $status %>
+
+% if ( $FS::CurrentUser::CurrentUser->access_right('Manage domain registration') ) {
+% if ( defined($ops{'register'}) ) {
+ Register at <% $registrar->{'name'} %>
+% }
+% if ( defined($ops{'transfer'}) ) {
+ Transfer to <% $registrar->{'name'} %>
+% }
+% if ( defined($ops{'renew'}) ) {
+ Renew at <% $registrar->{'name'} %>
+% }
+% if ( defined($ops{'revoke'}) ) {
+ Revoke
+% }
+% }
+
+ |
+
+% }
+
+% if ( $communigate ) {
+
+
+ Administrator domain |
+
+% if ( $svc_domain->parent_svcnum ) {
+% #XXX agent-virt aware the link
+ <% $svc_domain->parent_svc_x->domain %>
+% } else {
+ (none)
+% }
+ |
+
+
+
+ Aliases |
+ <% $svc_domain->cgp_aliases %> |
+
+
+% }
+
+% if ( $communigate && $svc_domain->max_accounts ) {
+
+ Maximum number of Accounts |
+ <% $svc_domain->max_accounts %> |
+
+% }
+
+
+ Catch all email |
+ <% $email ? "$email" : '(none)' %>
+% if ( $FS::CurrentUser::CurrentUser->access_right('Edit domain catchall') ) {
+ (change)
+% }
+ |
+
+
+
+ Enabled services |
+ <% $svc_domain->cgp_accessmodes %> |
+
+
+
+
+
+
+
+DNS records
+% my @records; if ( @records = $svc_domain->domain_record ) {
+
+ <% include('/elements/table-grid.html') %>
+
+% my $bgcolor1 = '#eeeeee';
+% my $bgcolor2 = '#ffffff';
+% my $bgcolor = $bgcolor2;
+
+
+ Zone |
+ Type |
+ Data |
+
+
+% foreach my $domain_record ( @records ) {
+% my $type = $domain_record->rectype eq '_mstr'
+% ? "(slave)"
+% : $domain_record->recaf. ' '. $domain_record->rectype;
+
+
+
+ <% $domain_record->reczone %> |
+ <% $type %> |
+ <% $domain_record->recdata %>
+
+% unless ( $domain_record->rectype eq 'SOA'
+% || ! $FS::CurrentUser::CurrentUser->access_right('Edit domain nameservice')
+% ) {
+% ( my $recdata = $domain_record->recdata ) =~ s/"/\\'\\'/g;
+ (delete)
+% }
+ |
+
+
+
+% if ( $bgcolor eq $bgcolor1 ) {
+% $bgcolor = $bgcolor2;
+% } else {
+% $bgcolor = $bgcolor1;
+% }
+
+% }
+
+
+% }
+
+% if ( $FS::CurrentUser::CurrentUser->access_right('Edit domain nameservice') ) {
+
+
+
+
+% }
+
+
+<% include('elements/svc_export_settings.html', $svc_domain) %>
+
+<% joblisting({'svcnum'=>$svcnum}, 1) %>
+
+<% include('/elements/footer.html') %>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
+
+my $conf = new FS::Conf;
my($query) = $cgi->keywords;
$query =~ /^(\d+)$/;
my $svcnum = $1;
-my $svc_domain = qsearchs('svc_domain',{'svcnum'=>$svcnum});
+my $svc_domain = qsearchs({
+ 'select' => 'svc_domain.*',
+ 'table' => 'svc_domain',
+ 'addl_from' => ' LEFT JOIN cust_svc USING ( svcnum ) '.
+ ' LEFT JOIN cust_pkg USING ( pkgnum ) '.
+ ' LEFT JOIN cust_main USING ( custnum ) ',
+ 'hashref' => {'svcnum'=>$svcnum},
+ 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql(
+ 'null_right' => 'View/link unlinked services'
+ ),
+});
die "Unknown svcnum" unless $svc_domain;
my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum});
my $pkgnum = $cust_svc->getfield('pkgnum');
-my($cust_pkg, $custnum);
+my($cust_pkg, $custnum, $display_custnum);
if ($pkgnum) {
- $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
- $custnum=$cust_pkg->getfield('custnum');
+ $cust_pkg = qsearchs('cust_pkg', {'pkgnum'=>$pkgnum} );
+ $custnum = $cust_pkg->custnum;
+ $display_custnum = $cust_pkg->cust_main->display_custnum;
} else {
$cust_pkg = '';
$custnum = '';
@@ -30,33 +247,34 @@ if ($svc_domain->catchall) {
my $domain = $svc_domain->domain;
-print 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",
- )
- : ( "Cancel this (unaudited) account" =>
- "${p}misc/cancel-unaudited.cgi?$svcnum" )
- ),
- "Main menu" => $p,
-)),
- "Service #$svcnum",
- "
Service: ", $part_svc->svc, "",
- "
Domain name: $domain.",
- qq!
Catch all email (change):!,
- $email ? "$email." : "(none)",
- qq!
View whois information.!,
- '
', ntable("",2),
- 'Zone | Type | Data |
',
-;
-
-foreach my $domain_record ( qsearch('domain_record', { svcnum => $svcnum } ) ) {
- print ''. $domain_record->reczone. ' | '.
- ''. $domain_record->recaf. ' '. $domain_record->rectype. ' | '.
- ''. $domain_record->recdata. ' |
';
+my $communigate = scalar($part_svc->part_export('communigate_pro'));
+ # || scalar($part_svc->part_export('communigate_pro_singledomain'));
+
+# Find the first export that does domain registration
+my @exports = grep $_->can('registrar'), $part_svc->part_export;
+my $export = $exports[0];
+# If we have a domain registration export, get the registrar object
+my $registrar;
+my $status = 'Unknown';
+my %ops = ();
+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";
+ }
}
-print ''.
- '
'. joblisting({'svcnum'=>$svcnum}, 1).
- '