b0f1d5c80d33ae1b04a47a5da154b2b85628d14c
[freeside.git] / httemplate / search / svc_www.cgi
1 %
2 %
3 %#my $conf = new FS::Conf;
4 %
5 %my($query)=$cgi->keywords;
6 %$query ||= ''; #to avoid use of unitialized value errors
7 %my $orderby;
8 %if ( $query eq 'svcnum' ) {
9 %  $orderby = 'ORDER BY svcnum';
10 %} else {
11 %  eidiot('unimplemented');
12 %}
13 %
14 %my $count_query = 'SELECT COUNT(*) FROM svc_www';
15 %my $sql_query = {
16 %  'table'     => 'svc_www',
17 %  'hashref'   => {},
18 %  'select'    => join(', ',
19 %                   'svc_www.*',
20 %                   'part_svc.svc',
21 %                   'cust_main.custnum',
22 %                   FS::UI::Web::cust_sql_fields(),
23 %                 ),
24 %  'extra_sql' => $orderby,
25 %  'addl_from' => 'LEFT JOIN cust_svc  USING ( svcnum  )'.
26 %                 'LEFT JOIN cust_pkg  USING ( pkgnum  )'.
27 %                 'LEFT JOIN cust_main USING ( custnum )',
28 %};
29 %
30 %my $link  = [ "${p}view/svc_www.cgi?", 'svcnum', ];
31 %#my $dlink = [ "${p}view/svc_www.cgi?", 'svcnum', ];
32 %my $ulink = [ "${p}view/svc_acct.cgi?", 'usersvc', ];
33 %
34 %#smaller false laziness w/svc_*.cgi here
35 %my $link_cust = sub {
36 %  my $svc_x = shift;
37 %  $svc_x->custnum ? [ "${p}view/cust_main.cgi?", 'custnum' ] : '';
38 %};
39 %
40 %
41 <% include( 'elements/search.html',
42                  'title'       => 'Virtual Host Search Results',
43                  'name'        => 'virtual hosts',
44                  'query'       => $sql_query,
45                  'count_query' => $count_query,
46                  'redirect'    => $link,
47                  'header'      => [ '#',
48                                     'Service',
49                                     'Zone',
50                                     'User',
51                                     FS::UI::Web::cust_header(),
52                                   ],
53                  'fields'      => [ 'svcnum',
54                                     'svc',
55                                     sub { $_[0]->domain_record->zone },
56                                     sub {
57                                           my $svc_www = shift;
58                                           my $svc_acct = $svc_www->svc_acct;
59                                           $svc_acct
60                                             ? $svc_acct->email
61                                             : '';
62                                         },
63                                     \&FS::UI::Web::cust_fields,
64                                   ],
65                  'links'       => [ $link,
66                                     $link,
67                                     '',
68                                     $ulink,
69                                     ( map { $link_cust }
70                                           FS::UI::Web::cust_header()
71                                     ),
72                                   ],
73              )
74 %>