##// END OF EJS Templates
Don't query for each role....
Jean-Philippe Lang -
r15068:765b6e32d696
parent child
Show More
@@ -1,71 +1,71
1 <%= error_messages_for 'role' %>
1 <%= error_messages_for 'role' %>
2
2
3 <div class="box tabular">
3 <div class="box tabular">
4 <% unless @role.builtin? %>
4 <% unless @role.builtin? %>
5 <p><%= f.text_field :name, :required => true %></p>
5 <p><%= f.text_field :name, :required => true %></p>
6 <p><%= f.check_box :assignable %></p>
6 <p><%= f.check_box :assignable %></p>
7 <% end %>
7 <% end %>
8
8
9 <% unless @role.anonymous? %>
9 <% unless @role.anonymous? %>
10 <p><%= f.select :issues_visibility, Role::ISSUES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
10 <p><%= f.select :issues_visibility, Role::ISSUES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
11 <% end %>
11 <% end %>
12
12
13 <% unless @role.anonymous? %>
13 <% unless @role.anonymous? %>
14 <p><%= f.select :time_entries_visibility, Role::TIME_ENTRIES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
14 <p><%= f.select :time_entries_visibility, Role::TIME_ENTRIES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
15 <% end %>
15 <% end %>
16
16
17 <p><%= f.select :users_visibility, Role::USERS_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
17 <p><%= f.select :users_visibility, Role::USERS_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
18
18
19 <% unless @role.builtin? %>
19 <% unless @role.builtin? %>
20 <p id="manage_members_options">
20 <p id="manage_members_options">
21 <label><%= l(:label_member_management) %></label>
21 <label><%= l(:label_member_management) %></label>
22 <label class="block">
22 <label class="block">
23 <%= radio_button_tag 'role[all_roles_managed]', 1, @role.all_roles_managed?, :id => 'role_all_roles_managed_on',
23 <%= radio_button_tag 'role[all_roles_managed]', 1, @role.all_roles_managed?, :id => 'role_all_roles_managed_on',
24 :data => {:disables => '.role_managed_role input'} %>
24 :data => {:disables => '.role_managed_role input'} %>
25 <%= l(:label_member_management_all_roles) %>
25 <%= l(:label_member_management_all_roles) %>
26 </label>
26 </label>
27 <label class="block">
27 <label class="block">
28 <%= radio_button_tag 'role[all_roles_managed]', 0, !@role.all_roles_managed?, :id => 'role_all_roles_managed_off',
28 <%= radio_button_tag 'role[all_roles_managed]', 0, !@role.all_roles_managed?, :id => 'role_all_roles_managed_off',
29 :data => {:enables => '.role_managed_role input'} %>
29 :data => {:enables => '.role_managed_role input'} %>
30 <%= l(:label_member_management_selected_roles_only) %>:
30 <%= l(:label_member_management_selected_roles_only) %>:
31 </label>
31 </label>
32 <% Role.givable.sorted.each do |role| %>
32 <% Role.givable.sorted.each do |role| %>
33 <label class="block role_managed_role" style="padding-left:2em;">
33 <label class="block role_managed_role" style="padding-left:2em;">
34 <%= check_box_tag 'role[managed_role_ids][]', role.id, @role.managed_roles.include?(role), :id => nil %>
34 <%= check_box_tag 'role[managed_role_ids][]', role.id, @role.managed_roles.to_a.include?(role), :id => nil %>
35 <%= role.name %>
35 <%= role.name %>
36 </label>
36 </label>
37 <% end %>
37 <% end %>
38 <%= hidden_field_tag 'role[managed_role_ids][]', '' %>
38 <%= hidden_field_tag 'role[managed_role_ids][]', '' %>
39 <% end %>
39 <% end %>
40
40
41 <% if @role.new_record? && @roles.any? %>
41 <% if @role.new_record? && @roles.any? %>
42 <p><label for="copy_workflow_from"><%= l(:label_copy_workflow_from) %></label>
42 <p><label for="copy_workflow_from"><%= l(:label_copy_workflow_from) %></label>
43 <%= select_tag(:copy_workflow_from, content_tag("option") + options_from_collection_for_select(@roles, :id, :name, params[:copy_workflow_from] || @copy_from.try(:id))) %></p>
43 <%= select_tag(:copy_workflow_from, content_tag("option") + options_from_collection_for_select(@roles, :id, :name, params[:copy_workflow_from] || @copy_from.try(:id))) %></p>
44 <% end %>
44 <% end %>
45 </div>
45 </div>
46
46
47 <h3><%= l(:label_permissions) %></h3>
47 <h3><%= l(:label_permissions) %></h3>
48 <div class="box tabular" id="permissions">
48 <div class="box tabular" id="permissions">
49 <% perms_by_module = @role.setable_permissions.group_by {|p| p.project_module.to_s} %>
49 <% perms_by_module = @role.setable_permissions.group_by {|p| p.project_module.to_s} %>
50 <% perms_by_module.keys.sort.each do |mod| %>
50 <% perms_by_module.keys.sort.each do |mod| %>
51 <fieldset><legend><%= mod.blank? ? l(:label_project) : l_or_humanize(mod, :prefix => 'project_module_') %></legend>
51 <fieldset><legend><%= mod.blank? ? l(:label_project) : l_or_humanize(mod, :prefix => 'project_module_') %></legend>
52 <% perms_by_module[mod].each do |permission| %>
52 <% perms_by_module[mod].each do |permission| %>
53 <label class="floating">
53 <label class="floating">
54 <%= check_box_tag 'role[permissions][]', permission.name, (@role.permissions.include? permission.name),
54 <%= check_box_tag 'role[permissions][]', permission.name, (@role.permissions.include? permission.name),
55 :id => "role_permissions_#{permission.name}" %>
55 :id => "role_permissions_#{permission.name}" %>
56 <%= l_or_humanize(permission.name, :prefix => 'permission_') %>
56 <%= l_or_humanize(permission.name, :prefix => 'permission_') %>
57 </label>
57 </label>
58 <% end %>
58 <% end %>
59 </fieldset>
59 </fieldset>
60 <% end %>
60 <% end %>
61 <br /><%= check_all_links 'permissions' %>
61 <br /><%= check_all_links 'permissions' %>
62 <%= hidden_field_tag 'role[permissions][]', '' %>
62 <%= hidden_field_tag 'role[permissions][]', '' %>
63 </div>
63 </div>
64
64
65 <%= javascript_tag do %>
65 <%= javascript_tag do %>
66 $(document).ready(function(){
66 $(document).ready(function(){
67 $("#role_permissions_manage_members").change(function(){
67 $("#role_permissions_manage_members").change(function(){
68 $("#manage_members_options").toggle($(this).is(":checked"));
68 $("#manage_members_options").toggle($(this).is(":checked"));
69 }).change();
69 }).change();
70 });
70 });
71 <% end %>
71 <% end %>
General Comments 0
You need to be logged in to leave comments. Login now