This commit was generated by cvs2svn to compensate for changes in r6252,
[freeside.git] / httemplate / search / svc_external.cgi
1 %die "access denied"
2 %  unless $FS::CurrentUser::CurrentUser->access_right('List services');
3 %
4 %my $conf = new FS::Conf;
5 %
6 %my @svc_external = ();
7 %my @h_svc_external = ();
8 %my $sortby=\*svcnum_sort;
9 %if ( $cgi->param('magic') =~ /^(all|unlinked)$/ ) {
10 %
11 %  @svc_external=qsearch('svc_external',{});
12 %
13 %  if ( $cgi->param('magic') eq 'unlinked' ) {
14 %    @svc_external = grep { qsearchs('cust_svc', {
15 %                                                  'svcnum' => $_->svcnum,
16 %                                                  'pkgnum' => '',
17 %                                                }
18 %                                   )
19 %                         }
20 %                    @svc_external;
21 %  }
22 %
23 %  if ( $cgi->param('sortby') =~ /^(\w+)$/ ) {
24 %    my $sortby = $1;
25 %    if ( $sortby eq 'id' ) {
26 %      $sortby = \*id_sort;
27 %    }
28 %  }
29 %
30 %} elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
31 %
32 %  @svc_external =
33 %    qsearch( 'svc_external', {}, '',
34 %               " WHERE $1 = ( SELECT svcpart FROM cust_svc ".
35 %               "              WHERE cust_svc.svcnum = svc_external.svcnum ) "
36 %    );
37 %
38 %} elsif ( $cgi->param('title') =~ /^(.*)$/ ) {
39 %  $sortby=\*id_sort;
40 %  @svc_external=qsearch('svc_external',{ title => $1 });
41 %  if( $cgi->param('history') == 1 ) {
42 %    @h_svc_external=qsearch('h_svc_external',{ title => $1 });
43 %  }
44 %} elsif ( $cgi->param('id') =~ /^([\w\-\.]+)$/ ) {
45 %  my $id = $1;
46 %  @svc_external = qsearchs('svc_external',{'id'=>$id});
47 %}
48 %
49 %if ( scalar(@svc_external) == 1 ) {
50 %
51 %  
52 <% $cgi->redirect(popurl(2). "view/svc_external.cgi?". $svc_external[0]->svcnum) %>
53 %
54 %
55 %} elsif ( scalar(@svc_external) == 0 ) {
56 %
57 %  
58 <% include('/elements/header.html', 'External Search Results' ) %>
59
60   No matching external services found
61 % } else {
62 %
63 %  
64 <% include('/elements/header.html', 'External Search Results', '') %>
65
66     <% scalar(@svc_external) %> matching external services found
67     <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0>
68       <TR>
69         <TH>Service #</TH>
70         <TH><% FS::Msgcat::_gettext('svc_external-id') || 'External&nbsp;ID' %></TH>
71         <TH><% FS::Msgcat::_gettext('svc_external-title') || 'Title' %></TH>
72       </TR>
73 %
74 %  foreach my $svc_external (
75 %    sort $sortby (@svc_external)
76 %  ) {
77 %    my($svcnum, $id, $title)=(
78 %      $svc_external->svcnum,
79 %      $svc_external->id,
80 %      $svc_external->title,
81 %    );
82 %
83 %    my $rowspan = 1;
84 %
85 %    print <<END;
86 %    <TR>
87 %      <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_external.cgi?$svcnum">$svcnum</A></TD>
88 %      <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_external.cgi?$svcnum">$id</A></TD>
89 %      <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_external.cgi?$svcnum">$title</A></TD>
90 %END
91 %
92 %    #print @rows;
93 %    print "</TR>";
94 %
95 %  }
96 %  if( scalar(@h_svc_external) > 0 ) {
97 %    print <<HTML;
98 %    </TABLE>
99 %    <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0>
100 %      <TR>
101 %        <TH>Freeside ID</TH>
102 %        <TH>Service #</TH>
103 %        <TH>Title</TH>
104 %        <TH>Date</TH>
105 %      </TR>
106 %HTML
107 %
108 %    foreach my $h_svc ( @h_svc_external ) {
109 %        my($svcnum, $id, $title, $user, $date)=(
110 %            $h_svc->svcnum,
111 %            $h_svc->id,
112 %            $h_svc->title,
113 %            $h_svc->history_user,
114 %            $h_svc->history_date,
115 %        );
116 %        my $rowspan = 1;
117 %        my ($h_cust_svc) = qsearchs( 'h_cust_svc', {
118 %            svcnum  =>  $svcnum,
119 %        });
120 %        my $cust_pkg = qsearchs( 'cust_pkg', {
121 %            pkgnum  =>  $h_cust_svc->pkgnum,
122 %        });
123 %        my $custnum = $cust_pkg->custnum;
124 %
125 %        print <<END;
126 %        <TR>
127 %          <TD ROWSPAN=$rowspan><A HREF="${p}view/cust_main.cgi?$custnum">$custnum</A></TD>
128 %          <TD ROWSPAN=$rowspan><A HREF="${p}view/cust_main.cgi?$custnum">$svcnum</A></TD>
129 %          <TD ROWSPAN=$rowspan><A HREF="${p}view/cust_main.cgi?$custnum">$title</A></TD>
130 %          <TD ROWSPAN=$rowspan><A HREF="${p}view/cust_main.cgi?$custnum">$date</A></TD>
131 %        </TR>
132 %END
133 %    }
134 %  }
135 %
136 %  print <<END;
137 %    </TABLE>
138 %  </BODY>
139 %</HTML>
140 %END
141 %
142 %}
143 %
144 %sub svcnum_sort {
145 %  $a->getfield('svcnum') <=> $b->getfield('svcnum');
146 %}
147 %
148 %sub id_sort {
149 %  $a->getfield('id') <=> $b->getfield('id');
150 %}
151 %
152 %
153