X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fsvc_external.cgi;h=2710d75bc5f093b06ca6a56888d56a6811adc5a2;hb=e68a2c760a79d6085f12be9add138067c9935074;hp=8dbb949c877fb031af3ca076cc203ab61efee6e4;hpb=c1bb4ddb71147d0571bd301a6d8c452fdf0e1bc9;p=freeside.git
diff --git a/httemplate/search/svc_external.cgi b/httemplate/search/svc_external.cgi
index 8dbb949c8..2710d75bc 100755
--- a/httemplate/search/svc_external.cgi
+++ b/httemplate/search/svc_external.cgi
@@ -1,101 +1,153 @@
-<%
+%die "access denied"
+% unless $FS::CurrentUser::CurrentUser->access_right('List services');
+%
+%my $conf = new FS::Conf;
+%
+%my @svc_external = ();
+%my @h_svc_external = ();
+%my $sortby=\*svcnum_sort;
+%if ( $cgi->param('magic') =~ /^(all|unlinked)$/ ) {
+%
+% @svc_external=qsearch('svc_external',{});
+%
+% if ( $cgi->param('magic') eq 'unlinked' ) {
+% @svc_external = grep { qsearchs('cust_svc', {
+% 'svcnum' => $_->svcnum,
+% 'pkgnum' => '',
+% }
+% )
+% }
+% @svc_external;
+% }
+%
+% if ( $cgi->param('sortby') =~ /^(\w+)$/ ) {
+% my $sortby = $1;
+% if ( $sortby eq 'id' ) {
+% $sortby = \*id_sort;
+% }
+% }
+%
+%} elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
+%
+% @svc_external =
+% qsearch( 'svc_external', {}, '',
+% " WHERE $1 = ( SELECT svcpart FROM cust_svc ".
+% " WHERE cust_svc.svcnum = svc_external.svcnum ) "
+% );
+%
+%} elsif ( $cgi->param('title') =~ /^(.*)$/ ) {
+% $sortby=\*id_sort;
+% @svc_external=qsearch('svc_external',{ title => $1 });
+% if( $cgi->param('history') == 1 ) {
+% @h_svc_external=qsearch('h_svc_external',{ title => $1 });
+% }
+%} elsif ( $cgi->param('id') =~ /^([\w\-\.]+)$/ ) {
+% my $id = $1;
+% @svc_external = qsearchs('svc_external',{'id'=>$id});
+%}
+%
+%if ( scalar(@svc_external) == 1 ) {
+%
+%
+<% $cgi->redirect(popurl(2). "view/svc_external.cgi?". $svc_external[0]->svcnum) %>
+%
+%
+%} elsif ( scalar(@svc_external) == 0 ) {
+%
+%
+<% include('/elements/header.html', 'External Search Results' ) %>
-my $conf = new FS::Conf;
+ No matching external services found
+% } else {
+%
+%
+<% include('/elements/header.html', 'External Search Results', '') %>
-my($query)=$cgi->keywords;
-$query ||= ''; #to avoid use of unitialized value errors
-my(@svc_external,$sortby);
-if ( $query eq 'svcnum' ) {
- $sortby=\*svcnum_sort;
- @svc_external=qsearch('svc_external',{});
-} elsif ( $query eq 'id' ) {
- $sortby=\*id_sort;
- @svc_external=qsearch('svc_external',{});
-} elsif ( $query eq 'UN_svcnum' ) {
- $sortby=\*svcnum_sort;
- @svc_external = grep qsearchs('cust_svc',{
- 'svcnum' => $_->svcnum,
- 'pkgnum' => '',
- }), qsearch('svc_external',{});
-} elsif ( $query eq 'UN_id' ) {
- $sortby=\*id_sort;
- @svc_external = grep qsearchs('cust_svc',{
- 'svcnum' => $_->svcnum,
- 'pkgnum' => '',
- }), qsearch('svc_external',{});
-} elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
- @svc_external =
- qsearch( 'svc_external', {}, '',
- " WHERE $1 = ( SELECT svcpart FROM cust_svc ".
- " WHERE cust_svc.svcnum = svc_external.svcnum ) "
- );
- $sortby=\*svcnum_sort;
-} else {
- $cgi->param('id') =~ /^([\w\-\.]+)$/;
- my($id)=$1;
- #push @svc_domain, qsearchs('svc_domain',{'domain'=>$domain});
- @svc_external = qsearchs('svc_external',{'id'=>$id});
-}
-
-if ( scalar(@svc_external) == 1 ) {
- print $cgi->redirect(popurl(2). "view/svc_external.cgi?". $svc_external[0]->svcnum);
- #exit;
-} elsif ( scalar(@svc_external) == 0 ) {
-%>
-
-<%
- eidiot "No matching external services found!\n";
-} else {
-%>
-
-<%= include("/elements/header.html","External Search Results",'') %>
-
- <%= scalar(@svc_external) %> matching external services found
+ <% scalar(@svc_external) %> matching external services found
Service # |
- <%= FS::Msgcat::_gettext('svc_external-id') || 'External ID' %> |
- <%= FS::Msgcat::_gettext('svc_external-title') || 'Title' %> |
+ <% FS::Msgcat::_gettext('svc_external-id') || 'External ID' %> |
+ <% FS::Msgcat::_gettext('svc_external-title') || 'Title' %> |
+%
+% foreach my $svc_external (
+% sort $sortby (@svc_external)
+% ) {
+% my($svcnum, $id, $title)=(
+% $svc_external->svcnum,
+% $svc_external->id,
+% $svc_external->title,
+% );
+%
+% my $rowspan = 1;
+%
+% print <
+% $svcnum |
+% $id |
+% $title |
+%END
+%
+% #print @rows;
+% print "";
+%
+% }
+% if( scalar(@h_svc_external) > 0 ) {
+% print <
+%
+%
+% Freeside ID |
+% Service # |
+% Title |
+% Date |
+%
+%HTML
+%
+% foreach my $h_svc ( @h_svc_external ) {
+% my($svcnum, $id, $title, $user, $date)=(
+% $h_svc->svcnum,
+% $h_svc->id,
+% $h_svc->title,
+% $h_svc->history_user,
+% $h_svc->history_date,
+% );
+% my $rowspan = 1;
+% my ($h_cust_svc) = qsearchs( 'h_cust_svc', {
+% svcnum => $svcnum,
+% });
+% my $cust_pkg = qsearchs( 'cust_pkg', {
+% pkgnum => $h_cust_svc->pkgnum,
+% });
+% my $custnum = $cust_pkg->custnum;
+%
+% print <
+% $custnum |
+% $svcnum |
+% $title |
+% $date |
+%
+%END
+% }
+% }
+%
+% print <
+%
+%