Merge pull request #5094 from artoscinote/ma_SCI_8038

PET access modal fixes [SCI-8038]
This commit is contained in:
artoscinote 2023-03-08 10:49:30 +01:00 committed by GitHub
commit b8c5323fdc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 41 additions and 24 deletions

View file

@ -10,6 +10,15 @@
&:focus { &:focus {
box-shadow: none; box-shadow: none;
} }
&.disabled {
color: $color-black;
opacity: 1;
.caret {
opacity: 0;
}
}
} }
.modal-body { .modal-body {

View file

@ -38,7 +38,7 @@ module AccessPermissions
@user_assignment.update!(permitted_update_params) @user_assignment.update!(permitted_update_params)
log_activity(:change_user_role_on_project, @user_assignment) log_activity(:change_user_role_on_project, @user_assignment)
propagate_job(user_assignment) propagate_job(@user_assignment)
respond_to do |format| respond_to do |format|
format.json do format.json do

View file

@ -5,7 +5,7 @@ json.form controller.render_to_string(
formats: [:html], formats: [:html],
locals: { locals: {
user: @user_assignment.user, user: @user_assignment.user,
update_path: access_permissions_my_module_path(@my_module) update_path: access_permissions_my_module_path(@my_module),
with_inherit: true, with_inherit: true,
assignable: @my_module assignable: @my_module
}, },

View file

@ -1,3 +1,4 @@
<% editable ||= false %>
<% if assignable.visible? %> <% if assignable.visible? %>
<%= form_with(model: assignable, url: [:update_default_public_user_role, :access_permissions, assignable], method: :put, remote: true, html: { class: 'member-item', id: 'public_assignments', data: { action: 'replace-form autosave-form', object_type: assignable.class.name.underscore.to_sym } }) do |f| %> <%= form_with(model: assignable, url: [:update_default_public_user_role, :access_permissions, assignable], method: :put, remote: true, html: { class: 'member-item', id: 'public_assignments', data: { action: 'replace-form autosave-form', object_type: assignable.class.name.underscore.to_sym } }) do |f| %>
<div class="user-assignment-info"> <div class="user-assignment-info">
@ -13,28 +14,35 @@
<div class="user-assignment-role"> <div class="user-assignment-role">
<div class="user-assignment-controls"> <div class="user-assignment-controls">
<div class="dropdown pull-right"> <div class="dropdown pull-right">
<button class="btn btn-light btn-role-select" type="button" id="defaultPublicUserRole" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> <% if editable %>
<%= f.object.default_public_user_role.name %> <button class="btn btn-light btn-role-select" type="button" id="defaultPublicUserRole" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="caret"></span> <%= f.object.default_public_user_role.name %>
</button> <span class="caret"></span>
<%= f.hidden_field :default_public_user_role_id, value: f.object.default_public_user_role.id, class: "default-public-user-role-id" %> </button>
<ul class="dropdown-menu dropdown-menu-right user-assignment-dropdown" aria-labelledby="defaultPublicUserRole"> <%= f.hidden_field :default_public_user_role_id, value: f.object.default_public_user_role.id, class: "default-public-user-role-id" %>
<% user_roles_collection.each do |role| %> <ul class="dropdown-menu dropdown-menu-right user-assignment-dropdown" aria-labelledby="defaultPublicUserRole">
<li> <% user_roles_collection.each do |role| %>
<a href="#" data-turbolinks="false" class="user-role-selector" data-role-id="<%= role[1] %>"> <li>
<%= role[0] %> <a href="#" data-turbolinks="false" class="user-role-selector" data-role-id="<%= role[1] %>">
</a> <%= role[0] %>
</li> </a>
<% end %> </li>
<% if assignable.top_level_assignable? %> <% end %>
<li role="separator" class="divider" data-hook="support-dropdown-separator"></li> <% if assignable.top_level_assignable? %>
<li> <li role="separator" class="divider" data-hook="support-dropdown-separator"></li>
<a href="#" data-turbolinks="false" class="user-role-selector" data-role-id=""> <li>
<%= t('access_permissions.remove_access') %> <a href="#" data-turbolinks="false" class="user-role-selector" data-role-id="">
</a> <%= t('access_permissions.remove_access') %>
</li> </a>
<% end %> </li>
</ul> <% end %>
</ul>
<% else %>
<button class="btn btn-light btn-role-select disabled" type="button">
<%= f.object.default_public_user_role.name %>
<span class="caret"></span>
</button>
<% end %>
</div> </div>
</div> </div>
</div> </div>