optimize CDR rating after timed rate perf regression, RT#15739
[freeside.git] / httemplate / view / svc_www.cgi
1 <% include("/elements/header.html", "Website View", menubar(
2     ( ( $custnum )
3       ? ( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum",
4         )                                                                       
5       : ( "Cancel this (unaudited) website" =>
6             "${p}misc/cancel-unaudited.cgi?$svcnum" )
7     ),
8   ))
9 %>
10
11 <A HREF="<% $p %>edit/svc_www.cgi?<% $svcnum %>">Edit this information</A><BR>
12
13 <% ntable("#cccccc", 2) %>
14
15   <TR>
16     <TD ALIGN="right">Service number</TD>
17     <TD BGCOLOR="#ffffff"><% $svcnum %></TD>
18   </TR>
19   <TR>
20     <TD ALIGN="right">Website name</TD>
21     <TD BGCOLOR="#ffffff"><A HREF="http://<% $www %>"><% $www %></A></TD>
22   </TR>
23
24 % if (  $part_svc->part_svc_column('usersvc')->columnflag ne 'F'
25 %       || $part_svc->part_svc_column('usersvc')->columnvalue !~ /^\s*$/) {
26
27     <TR>
28       <TD ALIGN="right">Account</TD>
29       <TD BGCOLOR="#ffffff">
30 %       if ( $usersvc ) {
31           <A HREF="<% $p %>view/svc_acct.cgi?<% $usersvc %>"><% $email %></A>
32 %       } else {
33           </i>(none)</i>
34 %       }
35       </TD>
36     </TR>
37
38 % }
39
40   <TR>
41     <TD ALIGN="right">Config lines</TD>
42     <TD BGCOLOR="#ffffff"><PRE><% join("\n", $svc_www->config) |h %></PRE></TD>
43   </TR>
44
45 % foreach (sort { $a cmp $b } $svc_www->virtual_fields) {
46     <% $svc_www->pvf($_)->widget('HTML', 'view', $svc_www->getfield($_)) %>
47 % }
48
49 </TABLE>
50
51 <BR>
52 <% joblisting({'svcnum'=>$svcnum}, 1) %>
53
54 <% include('/elements/footer.html') %>
55 <%init>
56
57 die "access denied"
58  unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
59
60 my($query) = $cgi->keywords;
61 $query =~ /^(\d+)$/;
62 my $svcnum = $1;
63 my $svc_www = qsearchs({
64   'select'    => 'svc_www.*',
65   'table'     => 'svc_www',
66   'addl_from' => ' LEFT JOIN cust_svc  USING ( svcnum  ) '.
67                  ' LEFT JOIN cust_pkg  USING ( pkgnum  ) '.
68                  ' LEFT JOIN cust_main USING ( custnum ) ',
69   'hashref'   => { 'svcnum' => $svcnum },
70   'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql(
71                             'null_right' => 'View/link unlinked services'
72                           ),
73 }) or die "svc_www: Unknown svcnum $svcnum";
74
75 #false laziness w/all svc_*.cgi
76 my $cust_svc = qsearchs( 'cust_svc', { 'svcnum' => $svcnum } );
77 my $pkgnum = $cust_svc->getfield('pkgnum');
78 my($cust_pkg, $custnum, $display_custnum);
79 if ($pkgnum) {
80   $cust_pkg = qsearchs( 'cust_pkg', { 'pkgnum' => $pkgnum } );
81   $custnum = $cust_pkg->custnum;
82   $display_custnum = $cust_pkg->cust_main->display_custnum;
83 } else {
84   $cust_pkg = '';
85   $custnum = '';
86 }
87 #eofalse
88
89 my $part_svc=qsearchs('part_svc',{'svcpart'=>$cust_svc->svcpart})
90   or die "svc_www: Unknown svcpart" . $cust_svc->svcpart;
91
92 my $usersvc = $svc_www->usersvc;
93 my $svc_acct = '';
94 my $email = '';
95 if ( $usersvc ) {
96   $svc_acct = qsearchs('svc_acct', { 'svcnum' => $usersvc } )
97     or die "svc_www: Unknown usersvc $usersvc";
98   $email = $svc_acct->email;
99 }
100
101 my $domain_record = qsearchs('domain_record', { 'recnum' => $svc_www->recnum } )
102   or die "svc_www: Unknown recnum ". $svc_www->recnum;
103
104 my $www = $domain_record->zone;
105
106 </%init>