'Reporting/listing rights' => [
'List customers',
'List all customers',
+ 'Advanced customer search',
'List zip codes', #NEW
'List invoices',
'List packages',
'Download report data',
'Services: Accounts',
+ 'Services: Accounts: Advanced search',
'Services: Domains',
'Services: Certificates',
'Services: Mail forwards',
'Services: Virtual hosting services',
'Services: Wireless broadband services',
+ 'Services: Wireless broadband services: Advanced search',
'Services: DSLs',
'Services: Dish services',
'Services: Hardware',
+ 'Services: Hardware: Advanced search',
'Services: Phone numbers',
'Services: PBXs',
'Services: Ports',
use strict;
use vars qw( @ISA );
+use Tie::IxHash;
use FS::Record qw( qsearch qsearchs );
use FS::upgrade_journal;
my @all_groups = qsearch('access_group', {});
- my %onetime = (
+ tie my %onetime, 'Tie::IxHash',
'List customers' => 'List all customers',
+ 'List all customers' => 'Advanced customer search',
'List packages' => 'Summarize packages',
'Post payment' => 'Backdate payment',
'Cancel customer package immediately' => 'Un-cancel customer package',
'Services: Mailing lists',
'Services: External services',
],
+
+ 'Services: Accounts' => 'Services: Accounts: Advanced search',
+ 'Services: Wireless broadband services' => 'Services: Wireless broadband services: Advanced search',
+ 'Services: Hardware' => 'Services: Hardware: Advanced search',
+
'List rating data' => [ 'Usage: RADIUS sessions',
'Usage: Call Detail Records (CDRs)',
'Usage: Unrateable CDRs',
],
- );
+ ;
foreach my $old_acl ( keys %onetime ) {
$report_customers{'Zip code distribution'} = [ $fsurl. 'search/report_cust_main-zip.html', 'Zip codes by number of customers' ];
$report_customers{'Customer signup report'} = [ $fsurl. 'graph/report_cust_signup.html', 'New customer signups by date' ],
$report_customers{'Advanced customer reports'} = [ $fsurl. 'search/report_cust_main.html', 'by status, signup date, agent, etc.' ]
- if $curuser->access_right('List customers')
- && $curuser->access_right('List packages');
+ if $curuser->access_right('Advanced customer search');
tie my %report_invoices_open, 'Tie::IxHash',
'All open invoices' => [ $fsurl.'search/cust_bill.html?OPEN_date', 'All invoices with an unpaid balance' ],
];
}
- if ( $svcdb =~ /^svc_(acct|broadband|hardware)$/ ) {
$report_svc{"Advanced $lcsname reports"} =
- [ $fsurl."search/report_$svcdb.html", '' ];
- }
+ [ $fsurl."search/report_$svcdb.html", '' ]
+ if $svcdb =~ /^svc_(acct|broadband|hardware)$/
+ && $curuser->access_right("Services: $name: Advanced search");
if ( $svcdb eq 'svc_phone' ) {
}
- $report_services{$name} = [ \%report_svc, $longname ] if
- $curuser->access_right("Services: $name");
+ $report_services{$name} = [ \%report_svc, $longname ]
+ if $curuser->access_right("Services: $name");
}
<%init>
die "access denied"
- unless ( $FS::CurrentUser::CurrentUser->access_right('List customers') &&
- $FS::CurrentUser::CurrentUser->access_right('List packages')
- );
+ unless $FS::CurrentUser::CurrentUser->access_right('Advanced customer search');
my %search_hash = ();
<%init>
die "access denied"
- unless ( $FS::CurrentUser::CurrentUser->access_right('List customers') &&
- $FS::CurrentUser::CurrentUser->access_right('List packages')
- );
+ unless $FS::CurrentUser::CurrentUser->access_right('Advanced customer search');
my $conf = new FS::Conf;
<%init>
die "access denied"
- unless $FS::CurrentUser::CurrentUser->access_right('List packages'); #?
+ unless $FS::CurrentUser::CurrentUser->access_right('Services: Accounts: Advanced search'); #?
my $title = emt('Account Report');
<%init>
die "access denied"
- unless $FS::CurrentUser::CurrentUser->access_right('List packages'); #?
+ unless $FS::CurrentUser::CurrentUser->access_right('Services: Wireless broadband services: Advanced search');
my $title = 'Broadband Service Report';
my $routernum = [ $cgi->param('routernum') || '' ];
<%init>
die "access denied"
- unless $FS::CurrentUser::CurrentUser->access_right('List packages'); #?
+ unless $FS::CurrentUser::CurrentUser->access_right('Services: Hardware: Advanced search');
my $title = 'Hardware Service Report';