Skip to content
Snippets Groups Projects
Verified Commit 4f4eaa79 authored by Phil Hughes's avatar Phil Hughes
Browse files

Updated read project and group comment templates permissions

Updates the permissions to read project and group comment templates
to be for report level and above.

#506775
parent bdcf9d11
No related branches found
No related tags found
No related merge requests found
......@@ -815,8 +815,9 @@ module GroupPolicy
enable :read_saml_user
end
rule { supports_saved_replies & guest }.enable :read_saved_replies
rule { supports_saved_replies & developer }.policy do
enable :read_saved_replies
enable :create_saved_replies
enable :destroy_saved_replies
enable :update_saved_replies
......
......@@ -981,13 +981,14 @@ module ProjectPolicy
rule { can?(:read_project) & duo_features_enabled }.enable :access_duo_features
desc "Group has saved replies support"
desc "Project has saved replies support"
condition(:supports_saved_replies) do
@subject.supports_saved_replies?
end
rule { supports_saved_replies & guest }.enable :read_saved_replies
rule { supports_saved_replies & developer }.policy do
enable :read_saved_replies
enable :create_saved_replies
enable :destroy_saved_replies
enable :update_saved_replies
......
......@@ -4069,6 +4069,22 @@ def create_member_role(member, abilities = member_role_abilities)
it { is_expected.to be_allowed(:read_saved_replies, :create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
context 'when the user is a guest' do
let(:current_user) { guest }
it { is_expected.to be_allowed(:read_saved_replies) }
it { is_expected.to be_disallowed(:create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
end
context 'when the user is a reporter' do
let(:current_user) { reporter }
it { is_expected.to be_allowed(:read_saved_replies) }
it { is_expected.to be_disallowed(:create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
end
context 'when the user is a developer' do
let(:current_user) { developer }
......@@ -4078,13 +4094,13 @@ def create_member_role(member, abilities = member_role_abilities)
context 'when the user is a planner' do
let(:current_user) { planner }
it { is_expected.to be_disallowed(:read_saved_replies, :create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
it { is_expected.to be_disallowed(:create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
end
context 'when the user is a guest member of the group' do
let(:current_user) { guest }
it { is_expected.to be_disallowed(:read_saved_replies, :create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
it { is_expected.to be_disallowed(:create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
end
end
end
......
......@@ -4238,6 +4238,22 @@ def create_member_role(member, abilities = member_role_abilities)
it { is_expected.to be_allowed(:read_saved_replies, :create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
context 'when the user is a guest' do
let(:current_user) { guest }
it { is_expected.to be_allowed(:read_saved_replies) }
it { is_expected.to be_disallowed(:create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
end
context 'when the user is a reporter' do
let(:current_user) { reporter }
it { is_expected.to be_allowed(:read_saved_replies) }
it { is_expected.to be_disallowed(:create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
end
context 'when the user is a developer' do
let(:current_user) { developer }
......@@ -4247,7 +4263,7 @@ def create_member_role(member, abilities = member_role_abilities)
context 'when the user is a guest member of the project' do
let(:current_user) { guest }
it { is_expected.to be_disallowed(:read_saved_replies, :create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
it { is_expected.to be_disallowed(:create_saved_replies, :update_saved_replies, :destroy_saved_replies) }
end
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment