X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Faccess_group.html;h=2df0ba053f06c2e78418918f758b61b2415deebc;hb=5b73387992a96f7b80e40b5ecb2fedabd8a78d6b;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 {
+
+ ''.
+ ''. $_. ' | '.
+ ''.
+
+ 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' ];
+
+%once>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+%init>