first part of ACL and re-skinning work and some other small stuff
[freeside.git] / httemplate / search / svc_external.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(@svc_external,$sortby);
8 if ( $query eq 'svcnum' ) {
9   $sortby=\*svcnum_sort;
10   @svc_external=qsearch('svc_external',{});
11 } elsif ( $query eq 'id' ) {
12   $sortby=\*id_sort;
13   @svc_external=qsearch('svc_external',{});
14 } elsif ( $query eq 'UN_svcnum' ) {
15   $sortby=\*svcnum_sort;
16   @svc_external = grep qsearchs('cust_svc',{
17       'svcnum' => $_->svcnum,
18       'pkgnum' => '',
19     }), qsearch('svc_external',{});
20 } elsif ( $query eq 'UN_id' ) {
21   $sortby=\*id_sort;
22   @svc_external = grep qsearchs('cust_svc',{
23       'svcnum' => $_->svcnum,
24       'pkgnum' => '',
25     }), qsearch('svc_external',{});
26 } elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
27   @svc_external =
28     qsearch( 'svc_external', {}, '',
29                " WHERE $1 = ( SELECT svcpart FROM cust_svc ".
30                "              WHERE cust_svc.svcnum = svc_external.svcnum ) "
31     );
32   $sortby=\*svcnum_sort;
33 } else {
34   $cgi->param('id') =~ /^([\w\-\.]+)$/; 
35   my($id)=$1;
36   #push @svc_domain, qsearchs('svc_domain',{'domain'=>$domain});
37   @svc_external = qsearchs('svc_external',{'id'=>$id});
38 }
39
40 if ( scalar(@svc_external) == 1 ) {
41
42   %><%= $cgi->redirect(popurl(2). "view/svc_external.cgi?". $svc_external[0]->svcnum) %><%
43
44 } elsif ( scalar(@svc_external) == 0 ) {
45
46   %><%= include('/elements/header.html', 'External Search Results' ) %>
47
48   No matching external services found
49
50 <% } else {
51
52   %><%= include('/elements/header.html', 'External Search Results', '') %>
53
54     <%= scalar(@svc_external) %> matching external services found
55     <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0>
56       <TR>
57         <TH>Service #</TH>
58         <TH><%= FS::Msgcat::_gettext('svc_external-id') || 'External&nbsp;ID' %></TH>
59         <TH><%= FS::Msgcat::_gettext('svc_external-title') || 'Title' %></TH>
60       </TR>
61
62 <%
63   foreach my $svc_external (
64     sort $sortby (@svc_external)
65   ) {
66     my($svcnum, $id, $title)=(
67       $svc_external->svcnum,
68       $svc_external->id,
69       $svc_external->title,
70     );
71
72     my $rowspan = 1;
73
74     print <<END;
75     <TR>
76       <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_external.cgi?$svcnum">$svcnum</A></TD>
77       <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_external.cgi?$svcnum">$id</A></TD>
78       <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_external.cgi?$svcnum">$title</A></TD>
79 END
80
81     #print @rows;
82     print "</TR>";
83
84   }
85  
86   print <<END;
87     </TABLE>
88   </BODY>
89 </HTML>
90 END
91
92 }
93
94 sub svcnum_sort {
95   $a->getfield('svcnum') <=> $b->getfield('svcnum');
96 }
97
98 sub id_sort {
99   $a->getfield('id') <=> $b->getfield('id');
100 }
101
102 %>