From 3f22ce6f05882eef396984a8a0d617a02a1ab6cd Mon Sep 17 00:00:00 2001 From: "karel.picman@lbcfree.net" Date: Tue, 12 Jan 2021 08:44:32 +0100 Subject: [PATCH] #1201 Project's roles --- app/controllers/dmsf_controller.rb | 6 ++++++ app/views/dmsf/edit.html.erb | 4 ++-- test/functional/dmsf_controller_test.rb | 9 +++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/controllers/dmsf_controller.rb b/app/controllers/dmsf_controller.rb index 2dd387d9..c3244a5f 100644 --- a/app/controllers/dmsf_controller.rb +++ b/app/controllers/dmsf_controller.rb @@ -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 diff --git a/app/views/dmsf/edit.html.erb b/app/views/dmsf/edit.html.erb index 1bc49ec1..aeecfe56 100644 --- a/app/views/dmsf/edit.html.erb +++ b/app/views/dmsf/edit.html.erb @@ -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 %>