diff options
Diffstat (limited to 'app/views/roles/report.rhtml')
-rw-r--r-- | app/views/roles/report.rhtml | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/app/views/roles/report.rhtml b/app/views/roles/report.rhtml index 61e1e18e4..676e25f39 100644 --- a/app/views/roles/report.rhtml +++ b/app/views/roles/report.rhtml @@ -1,32 +1,31 @@ <h2><%=l(:label_permissions_report)%></h2> <%= start_form_tag({:action => 'report'}, :id => 'permissions_form') %> - +<%= hidden_field_tag 'permissions[0]', '' %> <table class="list"> -<thead><tr> - <th><%=l(:label_permissions)%></th> - <th colspan="<%= @roles.length %>"><%= l(:label_role_plural) %></th> -</tr> -</thead> -<tbody> -<% permissions = @permissions.group_by {|p| p.group_id } %> -<% permissions.keys.sort.each do |group_id| %> +<thead> <tr> - <th><%= l(Permission::GROUPS[group_id]) %></th> - <% @roles.each do |role| %><th align="center"><small><%= role.name %></small></th><% end %> - </tr> - <% permissions[group_id].each do |p| %> - <tr class="<%= cycle("odd", "even") %>"> - <td><%= l(p.description.to_sym) %></td> + <th><%=l(:label_permissions)%></th> <% @roles.each do |role| %> - <td align="center"><%= check_box_tag "permission_ids[#{role.id}][]", p.id, (role.permissions.include? p) %></td> + <th><%= content_tag(role.builtin? ? 'em' : 'span', h(role.name)) %></th> <% end %> </tr> +</thead> +<tbody> +<% @permissions.each do |permission| %> + <tr class="<%= cycle('odd', 'even') %>"> + <td><%= permission.name.to_s.humanize %></td> + <% @roles.each do |role| %> + <td align="center"> + <% if role.setable_permissions.include? permission %> + <%= check_box_tag "permissions[#{role.id}][]", permission.name, (role.permissions.include? permission.name) %> <% end %> -<% reset_cycle -end %> + </td> + <% end %> + </tr> +<% end %> </tbody> </table> <p><%= check_all_links 'permissions_form' %></p> <p><%= submit_tag l(:button_save) %></p> -<%= end_form_tag %>
\ No newline at end of file +<%= end_form_tag %> |