Files
2025-06-17 15:15:30 +02:00

76 lines
2.7 KiB
Plaintext

<%#-- copyright
OpenProject is an open source project management software.
Copyright (C) the OpenProject GmbH
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-2013 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 COPYRIGHT and LICENSE files for more details.
++#%>
<% roles ||= nil %>
<%= error_messages_for(role) if @call %>
<div data-controller="admin--roles"
data-admin--roles-global-role-value="<%= role.is_a?(GlobalRole) %>">
<div class="form--field -required">
<%= f.text_field :name, required: true, container_class: "-slim" %>
</div>
<div class="form--field">
<% if role.new_record? %>
<%= styled_label_tag :global_role, t(:label_global_role) %>
<div class="form--field-container">
<%= styled_check_box_tag(
"global_role",
"1",
role.is_a?(GlobalRole),
data: {
action: "admin--roles#toggle"
}
) %>
</div>
<% else %>
<%= styled_label_tag :unchangeable, "#{t(:label_role_type)} #{t(:label_not_changeable)}" %>
<div class="form--field-container">
<%= (role.is_a?(GlobalRole) ? t(:label_global_role) : t(:label_member_role)) %>
</div>
<% end %>
</div>
<div data-admin--roles-target="memberAttributes"
hidden>
<%= render partial: "member_attributes", locals: { f: f, role: role, roles: roles&.reject { |r| r.is_a?(GlobalRole) } } %>
</div>
<div data-admin--roles-target="globalPermissions"
hidden>
<%= render partial: "permissions",
locals: { permissions: grouped_setable_permissions(GlobalRole.new), role: role, show_global_role: true } %>
</div>
<div data-admin--roles-target="memberPermissions"
hidden>
<%= render partial: "permissions",
locals: { permissions: grouped_setable_permissions(role), role: role, show_global_role: false } %>
</div>
</div>