X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_domain.cgi;h=3fd898ba5cc9c83ff1321ef8367dab7eac62a539;hp=44390bf8b2f0cace148b274a6b5a522aa1a767e1;hb=e17528c356bb137bcff4c6934a2c7e254202838e;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0 diff --git a/httemplate/view/svc_domain.cgi b/httemplate/view/svc_domain.cgi index 44390bf8b..3fd898ba5 100755 --- a/httemplate/view/svc_domain.cgi +++ b/httemplate/view/svc_domain.cgi @@ -1,55 +1,112 @@ - -% -% -%my($query) = $cgi->keywords; -%$query =~ /^(\d+)$/; -%my $svcnum = $1; -%my $svc_domain = qsearchs('svc_domain',{'svcnum'=>$svcnum}); -%die "Unknown svcnum" unless $svc_domain; -% -%my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); -%my $pkgnum = $cust_svc->getfield('pkgnum'); -%my($cust_pkg, $custnum); -%if ($pkgnum) { -% $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); -% $custnum=$cust_pkg->getfield('custnum'); -%} else { -% $cust_pkg = ''; -% $custnum = ''; -%} -% -%my $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } ); -%die "Unknown svcpart" unless $part_svc; -% -%my $email = ''; -%if ($svc_domain->catchall) { -% my $svc_acct = qsearchs('svc_acct',{'svcnum'=> $svc_domain->catchall } ); -% die "Unknown svcpart" unless $svc_acct; -% $email = $svc_acct->email; -%} -% -%my $domain = $svc_domain->domain; -% -% - - -<% include("/elements/header.html",'Domain View', menubar( - ( ( $pkgnum || $custnum ) - ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", - ) - : ( "Delete this (unaudited) domain" => - "javascript:areyousure('${p}misc/cancel-unaudited.cgi?$svcnum', 'Delete $domain and all records?' )" ) - ), - "Main menu" => $p, -)) %> - -Service #<% $svcnum %> -
Service: <% $part_svc->svc %> -
Domain name: <% $domain %> -
Catch all email (change): -<% $email ? "$email" : "(none)" %> -

View whois information. -

+% 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 ) { - <% ntable("",2) %> - ZoneTypeData + <% 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' ) { + + <% $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) +% } + + - (delete) -% } - +% if ( $bgcolor eq $bgcolor1 ) { +% $bgcolor = $bgcolor2; +% } else { +% $bgcolor = $bgcolor1; +% } + % } % } +% if ( $FS::CurrentUser::CurrentUser->access_right('Edit domain nameservice') ) { +
+ + + IN + + + +
+ +
+ +% if ( @records ) { + Delete all records and +% } + Or slave from nameserver IP + + + + + + +
+% }
-
- - - IN - - -


or

-
- -% if ( @records ) { - Delete all records and -% } +<% 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({ + '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, $display_custnum); +if ($pkgnum) { + $cust_pkg = qsearchs('cust_pkg', {'pkgnum'=>$pkgnum} ); + $custnum = $cust_pkg->custnum; + $display_custnum = $cust_pkg->cust_main->display_custnum; +} else { + $cust_pkg = ''; + $custnum = ''; +} + +my $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } ); +die "Unknown svcpart" unless $part_svc; + +my $email = ''; +if ($svc_domain->catchall) { + my $svc_acct = qsearchs('svc_acct',{'svcnum'=> $svc_domain->catchall } ); + die "Unknown svcpart" unless $svc_acct; + $email = $svc_acct->email; +} + +my $domain = $svc_domain->domain; + +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"; + } +} -Slave from nameserver IP - - - - - -
-

<% joblisting({'svcnum'=>$svcnum}, 1) %> - +