X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fsearch%2Fsqlradius_usage.html;h=6b1806ee38e1d4a66c75d9a0c3f62296404f65d6;hp=08f9b6ba12686c8f168017ee61a1f7418cbcad1f;hb=ade06c71a2159e9079951c00662843455b01a5d8;hpb=cf54023e010df76e0c39ac70902877d7c4c94c6e diff --git a/httemplate/search/sqlradius_usage.html b/httemplate/search/sqlradius_usage.html index 08f9b6ba1..6b1806ee3 100644 --- a/httemplate/search/sqlradius_usage.html +++ b/httemplate/search/sqlradius_usage.html @@ -64,20 +64,32 @@ my $curuser = $FS::CurrentUser::CurrentUser; die "access denied" unless $curuser->access_right('List services'); my $title = 'Data Usage Report - '; -my $agentnum; -my @include_agents; +my $agentnum = ''; +my @include_agents = (); -if ( $opt{'agentnum'} ) { +if ( $opt{'agentnum'} =~ /^(\d+)$/ ) { $agentnum = $opt{'agentnum'}; -} elsif ( $cgi->param('agentnum') =~ /^(\d+)$/ ) { - $agentnum = $1; +} else { + + my @agentnums = grep /^(\d+)$/, $cgi->param('agentnum'); + + if ( ! @agentnums ) { + @include_agents = qsearch('agent', {}); + } elsif ( scalar(@agentnums) == 1 ) { + $agentnum = $agentnums[0]; + } else { + @include_agents = qsearch({ 'table' => 'agent', + 'extra_sql' => 'WHERE agentnum IN ('. + join(',',@agentnums). ') '. + ' AND '. $curuser->agentnums_sql, + }); + } + } if ( $agentnum ) { my $agent = FS::agent->by_key($agentnum); $title = $agent->agent." $title"; -} else { - @include_agents = qsearch('agent', {}); } # usage query params @@ -162,7 +174,7 @@ if ( exists($opt{usage_by_username}) ) { } } else { # one query, get everyone's data - my $usage = $export->usage_sessions(\%usage_param); + $usage = $export->usage_sessions(\%usage_param); } # rearrange to be indexed by username.