#1201 Project's roles
This commit is contained in:
parent
b3db9fb750
commit
3f22ce6f05
@ -33,6 +33,7 @@ class DmsfController < ApplicationController
|
||||
# Also try to lookup folder by title if this is an API call
|
||||
before_action :find_folder_by_title, only: [:show]
|
||||
before_action :get_query, only: [:expand_folder, :show, :trash]
|
||||
before_action :get_project_roles, only: [:new, :edit]
|
||||
|
||||
accept_api_auth :show, :create, :save, :delete
|
||||
|
||||
@ -657,4 +658,9 @@ class DmsfController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def get_project_roles
|
||||
@project_roles = Role.givable.joins(:member_roles).joins(:members).where(
|
||||
members: { project_id: @project.id }).distinct
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@ -75,7 +75,7 @@
|
||||
<% dir = @folder.inherited_permissions_from %>
|
||||
<% if dir %>
|
||||
<%= label_tag '', l(:label_inherited_permissions) %>
|
||||
<% Role.givable.each do |role| %>
|
||||
<% @project_roles.each do |role| %>
|
||||
<% checked = dir.permission_for_role(role) %>
|
||||
<% if checked %>
|
||||
<label class="inline">
|
||||
@ -95,7 +95,7 @@
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= label_tag '', l(:label_dmsf_permissions) %>
|
||||
<% Role.givable.each do |role| %>
|
||||
<% @project_roles.each do |role| %>
|
||||
<% checked = @folder.permission_for_role(role) %>
|
||||
<label class="inline">
|
||||
<%= check_box_tag 'permissions[role_ids][]', role.id, checked, id: nil %>
|
||||
|
||||
@ -50,8 +50,17 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase
|
||||
# Permissions OK
|
||||
get :edit, params: { id: @project1, folder_id: @folder1}
|
||||
assert_response :success
|
||||
# Custom fields
|
||||
assert_select 'label', { text: @custom_field.name }
|
||||
assert_select 'option', { value: @custom_value.value }
|
||||
# Permissions - The form must contain a check box for each available role
|
||||
roles = []
|
||||
@project1.members.each do |m|
|
||||
roles << m.roles
|
||||
end
|
||||
roles.uniq.each do |r|
|
||||
assert_select 'input', { value: r.name }
|
||||
end
|
||||
end
|
||||
|
||||
def test_edit_folder_redirection_to_the_parent_folder
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user