X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Faccess_group.html;h=2df0ba053f06c2e78418918f758b61b2415deebc;hb=0bca43616911f2b48d9a0617e70a3bf0f30b92db;hp=d1c3aea4cfb1036086a5c5e1b0bdba4ff94a292f;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0;p=freeside.git diff --git a/httemplate/browse/access_group.html b/httemplate/browse/access_group.html index d1c3aea4c..2df0ba053 100644 --- a/httemplate/browse/access_group.html +++ b/httemplate/browse/access_group.html @@ -1,63 +1,11 @@ -% -% -%my $html_init = -% "Internal access groups control access to the back-office interface.

". -% qq!Add an internal access 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, -% -% ]; -% -%}; -% -%my $rights_sub = sub { -% my $access_group = shift; -% -% [ map { my $access_right = $_; -% [ -% { -% 'data' => $access_right->rightname, -% 'align' => 'left', -% }, -% ]; -% } -% $access_group->access_rights, -% -% ]; -% -%}; -% -%my $count_query = 'SELECT COUNT(*) FROM access_group'; -% -%my $link = [ $p.'edit/access_group.html?', 'groupnum' ]; -% -% <% include( 'elements/browse.html', - 'title' => 'Internal Access Groups', - 'menubar' => [ # 'Main menu' => $p, - 'Internal users' => $p.'browse/access_user.html', - ], + 'title' => 'Employee Groups', + 'menubar' => [ 'View Employees' => $p.'browse/access_user.html', ], 'html_init' => $html_init, - 'name' => 'internal access groups', + 'name' => 'employee groups', 'query' => { 'table' => 'access_group', 'hashref' => {}, - 'extra_sql' => 'ORDER BY groupname', #?? + 'order_by' => 'ORDER BY groupname', #?? }, 'count_query' => $count_query, 'header' => [ '#', @@ -77,3 +25,82 @@ ], ) %> +<%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 { + + ''. + ( ++$count % $columns ? '' : '') + + } keys %rights ). '
'. + ''. + '
'. $_. '
'. + + join('
', grep { $access_group->access_right($_); } + map { ref($_) ? $_->{'rightname'} : $_; } + @{ $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'); + +