<% include( 'elements/browse.html', 'title' => 'Employee Groups', 'menubar' => [ 'View Employees' => $p.'browse/access_user.html', ], 'html_init' => $html_init, 'name' => 'employee groups', 'query' => { 'table' => 'access_group', 'hashref' => {}, 'order_by' => 'ORDER BY groupname', #?? }, 'count_query' => $count_query, 'header' => [ '#', 'Group name', 'Agents', 'Rights', ], 'fields' => [ 'groupnum', 'groupname', $agents_sub, $rights_sub, ], 'links' => [ $link, $link, '', '', ], ) %> <%once> my $html_init = "Employee groups control access to the back-office interface. Each employee can be assigned to one or more groups.
". qq!Add an employee group
!; #false laziness w/access_user.html & agent_type.cgi my $agents_sub = sub { my $access_group = shift; [ map { my $access_groupagent = $_; my $agent = $access_groupagent->agent; [ { 'data' => $agent->agent, 'align' => 'left', 'link' => $p. 'edit/agent.cgi?'. $agent->agentnum, }, ]; } grep { $_->agent } #? $access_group->access_groupagent, ]; }; tie my %rights, 'Tie::IxHash', FS::AccessRight->rights_info; my $rights_sub = sub { my $access_group = shift; #[ map { my $access_right = $_; # [ # { # 'data' => $access_right->rightname, # 'align' => 'left', # }, # ]; # } # $access_group->access_rights, #]; #some false laziness w/edit/access_group.html my $columns = 3; my $count = 0; #include('/elements/table-grid.html', bgcolor=>'#cccccc' ). '

'. '
'. join( '', map { ' '. '
'. $_. '
'. '
'. join(' ', grep { $access_group->access_right($_); } map { ref($_) ? $_->{'rightname'} : $_; } @{ $rights{$_} } ). '
'. ( ++$count % $columns ? '' : '
') } keys %rights ). '

'; }; my $count_query = 'SELECT COUNT(*) FROM access_group'; my $link = [ $p.'edit/access_group.html?', 'groupnum' ]; <%init> die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Configuration');