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