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/_form.html.erb

79 lines
3.4 KiB

<%#-- copyright
OpenProject is a project management system.
Copyright (C) 2012-2017 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.
OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
Copyright (C) 2006-2017 Jean-Philippe Lang
Copyright (C) 2010-2013 the ChiliProject Team
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
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.
See doc/COPYRIGHT.rdoc for more details.
++#%>
<%= error_messages_for 'role' %>
<% unless @role.builtin? %>
<div class="form--field"><%= f.text_field :name, required: true %></div>
<div class="form--field"><%= f.check_box :assignable %></div>
<% if @role.new_record? && @roles.any? %>
<div id="member_attributes">
<div class="form--field">
<%= styled_label_tag 'copy_workflow_from', l(:label_copy_workflow_from) %>
<div class="form--field-container">
<%= styled_select_tag(:copy_workflow_from,
content_tag("option") + options_from_collection_for_select(@roles, :id, :name)) %>
</div>
</div>
</div>
<% end %>
<% end %>
<div id="member_permissions">
<% perms_by_module = @permissions.group_by {|p| p.project_module.to_s} %>
<% perms_by_module.keys.sort.each do |mod| %>
<% 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 %>">
<% module_name = mod.blank? ? "form--" + I18n.t('attributes.project') : "form--" + l_or_humanize(mod, prefix: 'project_module_').gsub(' ','_') %>
<div class="grid-section">
<fieldset class="form--fieldset -collapsible" id= "<%= module_name %>">
<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">
<div class="form--field-container">
<label class="form--label-with-check-box">
<%= styled_check_box_tag 'role[permissions][]', permission.name, (@role.permissions.include? permission.name) %>
<%= l_or_humanize(permission.name, prefix: 'permission_') %>
</label>
</div>
</div>
<% end %>
</div>
</fieldset>
</div>
</fieldset>
<% end %>
</div>