4 our $VERSION = "1.000";
6 use base 'DevHelp::Report';
9 my ($class, $req_or_cfg) = @_;
12 if ($req_or_cfg->isa('BSE::Cfg')) {
16 $cfg = $req_or_cfg->cfg;
20 my $work = $class->SUPER::new($cfg, 'reports');
21 $req and $work->{req} = $req;
30 my %entries = $self->SUPER::list_reports;
32 for my $key (keys %entries) {
33 $self->report_accessible($key) or push @delete, $key;
35 delete @entries{@delete};
43 sub report_accessible {
44 my ($self, $report) = @_;
46 $self->{req} or return;
48 my $rights = $self->report_entry($report, 'bse_rights');
49 defined $rights or $rights = '';
51 $rights eq '' and return 1; # no controls
52 for my $set (split /\|/, $rights) {
53 grep $self->{req}->user_can($_, -1), split /[,;]/, $set