8dbb949c877fb031af3ca076cc203ab61efee6e4
[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   print $cgi->redirect(popurl(2). "view/svc_external.cgi?". $svc_external[0]->svcnum);
42   #exit;
43 } elsif ( scalar(@svc_external) == 0 ) {
44 %>
45 <!-- mason kludge -->
46 <%
47   eidiot "No matching external services found!\n";
48 } else {
49 %>
50 <!-- mason kludge -->
51 <%= include("/elements/header.html","External Search Results",'') %>
52
53     <%= scalar(@svc_external) %> matching external services found
54     <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0>
55       <TR>
56         <TH>Service #</TH>
57         <TH><%= FS::Msgcat::_gettext('svc_external-id') || 'External&nbsp;ID' %></TH>
58         <TH><%= FS::Msgcat::_gettext('svc_external-title') || 'Title' %></TH>
59       </TR>
60
61 <%
62   foreach my $svc_external (
63     sort $sortby (@svc_external)
64   ) {
65     my($svcnum, $id, $title)=(
66       $svc_external->svcnum,
67       $svc_external->id,
68       $svc_external->title,
69     );
70
71     my $rowspan = 1;
72
73     print <<END;
74     <TR>
75       <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_external.cgi?$svcnum">$svcnum</A></TD>
76       <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_external.cgi?$svcnum">$id</A></TD>
77       <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_external.cgi?$svcnum">$title</A></TD>
78 END
79
80     #print @rows;
81     print "</TR>";
82
83   }
84  
85   print <<END;
86     </TABLE>
87   </BODY>
88 </HTML>
89 END
90
91 }
92
93 sub svcnum_sort {
94   $a->getfield('svcnum') <=> $b->getfield('svcnum');
95 }
96
97 sub id_sort {
98   $a->getfield('id') <=> $b->getfield('id');
99 }
100
101 %>