+%die "access denied"
+% unless $FS::CurrentUser::CurrentUser->access_right('List services');
+%
%my $conf = new FS::Conf;
%
%my @svc_broadband = ();
%my $sortby=\*svcnum_sort;
+%#XXX agent-virtualization needs to be finished :/
+%my $agentnums_sql = $FS::CurrentUser::CurrentUser->agentnums_sql(
+% 'null_right' => 'View/link unlinked services'
+% );
+%
%if ( $cgi->param('magic') =~ /^(all|unlinked)$/ ) {
%
-% @svc_broadband=qsearch('svc_broadband',{});
+% @svc_broadband = qsearch(
+% 'table' => 'svc_broadband',
+% 'hashref' => {},
+% #needs the join first 'extra_sql' => "WHERE $agentnums_sql",
+% );
%
% if ( $cgi->param('magic') eq 'unlinked' ) {
% @svc_broadband = grep { qsearchs('cust_svc', {
% )
% }
% @svc_broadband;
-% }
+% } else {
%
% if ( $cgi->param('sortby') =~ /^(\w+)$/ ) {
% my $sortby = $1;
%} elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
%
% @svc_broadband =
-% qsearch( 'svc_broadband', {}, '',
-% " WHERE $1 = ( SELECT svcpart FROM cust_svc ".
-% " WHERE cust_svc.svcnum = svc_external.svcnum ) "
-% );
+% qsearch( {
+% 'table' => 'svc_broadband',
+% 'addl_from' => 'LEFT JOIN cust_svc USING ( svcnum )',
+% 'extra_sql' => "WHERE svcpart = $1",
+% }
+% );
%
%} elsif ( $cgi->param('ip_addr') =~ /^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/ ) {
% my $ip_addr = $1;
<!-- mason kludge -->
%
-% eidiot "No matching ip address found!\n";
+% errorpage("No matching broadband services found!");
%} else {
%
<!-- mason kludge -->
%
% my($total)=scalar(@svc_broadband);
-% print header("IP Address Search Results",''), <<END;
+% print header("Broadband Search Results",''), <<END;
%
% $total matching broadband services found
% <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0>