You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

_form.html.erb 5.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <%= error_messages_for 'role' %>
  2. <div class="box tabular">
  3. <% unless @role.builtin? %>
  4. <p><%= f.text_field :name, :required => true %></p>
  5. <p><%= f.check_box :assignable %></p>
  6. <% end %>
  7. <% unless @role.anonymous? %>
  8. <p class="view_issues_shown"><%= f.select :issues_visibility, Role::ISSUES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
  9. <% end %>
  10. <% unless @role.anonymous? %>
  11. <p class="view_time_entries_shown"><%= f.select :time_entries_visibility, Role::TIME_ENTRIES_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
  12. <% end %>
  13. <p><%= f.select :users_visibility, Role::USERS_VISIBILITY_OPTIONS.collect {|v| [l(v.last), v.first]} %></p>
  14. <% unless @role.builtin? %>
  15. <p class="manage_members_shown">
  16. <label><%= l(:label_member_management) %></label>
  17. <label class="block">
  18. <%= radio_button_tag 'role[all_roles_managed]', 1, @role.all_roles_managed?, :id => 'role_all_roles_managed_on',
  19. :data => {:disables => '.role_managed_role input'} %>
  20. <%= l(:label_member_management_all_roles) %>
  21. </label>
  22. <label class="block">
  23. <%= radio_button_tag 'role[all_roles_managed]', 0, !@role.all_roles_managed?, :id => 'role_all_roles_managed_off',
  24. :data => {:enables => '.role_managed_role input'} %>
  25. <%= l(:label_member_management_selected_roles_only) %>:
  26. </label>
  27. <% Role.givable.sorted.each do |role| %>
  28. <label class="block role_managed_role" style="padding-left:2em;">
  29. <%= check_box_tag 'role[managed_role_ids][]', role.id, @role.managed_roles.to_a.include?(role), :id => nil %>
  30. <%= role.name %>
  31. </label>
  32. <% end %>
  33. <%= hidden_field_tag 'role[managed_role_ids][]', '' %>
  34. </p>
  35. <% end %>
  36. <% if @role.new_record? && @roles.any? %>
  37. <p><label for="copy_workflow_from"><%= l(:label_copy_workflow_from) %></label>
  38. <%= 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>
  39. <% end %>
  40. </div>
  41. <h3><%= l(:label_permissions) %></h3>
  42. <div class="box tabular" id="permissions">
  43. <% setable_permissions = @role.setable_permissions %>
  44. <% perms_by_module = setable_permissions.group_by {|p| p.project_module.to_s} %>
  45. <% perms_by_module.keys.sort.each do |mod| %>
  46. <% module_name = mod.blank? ? 'module_project' : "module_#{mod}" %>
  47. <fieldset id="<%= module_name %>"><legend><%= toggle_checkboxes_link("##{module_name}\ input") %><%= mod.blank? ? l(:label_project) : l_or_humanize(mod, :prefix => 'project_module_') %></legend>
  48. <% perms_by_module[mod].each do |permission| %>
  49. <label class="floating">
  50. <%= check_box_tag 'role[permissions][]', permission.name, (@role.permissions.include? permission.name),
  51. :id => "role_permissions_#{permission.name}",
  52. :data => {:shows => ".#{permission.name}_shown"} %>
  53. <%= l_or_humanize(permission.name, :prefix => 'permission_') %>
  54. </label>
  55. <% end %>
  56. </fieldset>
  57. <% end %>
  58. <br /><%= check_all_links 'permissions' %>
  59. <%= hidden_field_tag 'role[permissions][]', '' %>
  60. </div>
  61. <div id="role-permissions-trackers" class="view_issues_shown">
  62. <h3><%= l(:label_issue_tracking) %></h3>
  63. <% permissions = [:view_issues, :add_issues, :edit_issues, :add_issue_notes, :delete_issues] & setable_permissions.collect(&:name) %>
  64. <div class="autoscroll">
  65. <table class="list">
  66. <thead>
  67. <tr>
  68. <th><%= l(:label_tracker) %></th>
  69. <% permissions.each do |permission| %>
  70. <th class="<%= "#{permission}_shown" %>"><%= l("permission_#{permission}") %></th>
  71. <% end %>
  72. </thead>
  73. <tbody>
  74. <tr class='permissions-all-trackers'>
  75. <td class="name"><%= toggle_checkboxes_link('tr.permissions-all-trackers input[type="checkbox"]') %><b><%= l(:label_tracker_all) %></b></td>
  76. <% permissions.each do |permission| %>
  77. <td class="<%= "#{permission}_shown" %>">
  78. <%= hidden_field_tag "role[permissions_all_trackers][#{permission}]", '0', :id => nil %>
  79. <%= check_box_tag "role[permissions_all_trackers][#{permission}]",
  80. '1',
  81. @role.permissions_all_trackers?(permission),
  82. :class => "#{permission}_shown",
  83. :data => {:disables => ".#{permission}_tracker"} %>
  84. </td>
  85. <% end %>
  86. </tr>
  87. <% Tracker.sorted.all.each do |tracker| %>
  88. <tr class="permissions-tracker-<%= tracker.id %>">
  89. <td class="name"><%= toggle_checkboxes_link("tr.permissions-tracker-#{tracker.id} input:enabled") %><%= tracker.name %></td>
  90. <% permissions.each do |permission| %>
  91. <td class="<%= "#{permission}_shown" %>"><%= check_box_tag "role[permissions_tracker_ids][#{permission}][]",
  92. tracker.id,
  93. @role.permissions_tracker_ids?(permission, tracker.id),
  94. :class => "#{permission}_tracker",
  95. :id => "role_permissions_tracker_ids_add_issues_#{tracker.id}" %></td>
  96. <% end %>
  97. </tr>
  98. <% end %>
  99. </tbody>
  100. </table>
  101. </div>
  102. <% permissions.each do |permission| %>
  103. <%= hidden_field_tag "role[permissions_tracker_ids][#{permission}][]", '' %>
  104. <% end %>
  105. </div>