OpenProject is the leading open source project management software.
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.
openproject/app/views/roles/_permissions.html.erb

55 lines
2.3 KiB

<%#-- copyright
OpenProject Global Roles Plugin
Copyright (C) 2010 - 2014 the OpenProject Foundation (OPF)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
version 3.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++#%>
<% perms_by_module = permissions.group_by {|p| p.project_module.to_s} %>
<% perms_by_module.keys.sort.each do |mod| %>
<% if globalRole === 'false' %>
<% module_name = mod.blank? ? 'fieldset--' + Project.model_name.human.downcase.gsub(' ', '_') : 'fieldset--' + l_or_humanize(mod, prefix: 'project_module_').downcase.gsub(' ', '_') %>
<fieldset class="form--fieldset -collapsible" id="<%= module_name %>">
<% else %>
<% module_name = mod.blank? ? 'fieldset--global--' + Project.model_name.human.downcase.gsub(' ', '_') : 'fieldset--global--' + l_or_humanize(mod, prefix: 'project_module_').downcase.gsub(' ', '_') %>
<fieldset class="form--fieldset -collapsible" id="<%= module_name %>">
<% end %>
<legend class="form--fieldset-legend" onclick="toggleFieldset(this);">
<%= mod.blank? ? Project.model_name.human : l_or_humanize(mod, prefix: 'project_module_') %>
</legend>
<div class="form--fieldset-control">
<span class="form--fieldset-control-container">
(<%= check_all_links module_name %>)
</span>
</div>
<div class="-columns-2">
<% perms_by_module[mod].each do |permission| %>
<div class="form--field autoscroll -trailing-label ">
<label class="form--label">
<%= l_or_humanize(permission.name, prefix: 'permission_') %>
</label>
<div class="form--field-container">
<%= styled_check_box_tag 'role[permissions][]', permission.name, (role.permissions && role.permissions.include?(permission.name)) %>
</div>
</div>
<% end %>
</div>
</fieldset>
<% end %>
<%= hidden_field_tag 'role[permissions][]', '' %>