Allow enabling approval permissions for users with the Planner role
Currently, we can enable approval permissions for the reporter role, but we want to extend this option for the Planner role too. See https://gitlab.com/groups/gitlab-org/-/epics/13770#note_2358893986 for justification.
Poposal
-
Update the merge_request_group_approver
condition to include Planner. For example:diff
diff --git a/app/models/member.rb b/app/models/member.rb --- a/app/models/member.rb (revision da66261bc7bb26e346fe55ee14474223b54e64a4) +++ b/app/models/member.rb (date 1753182771329) @@ -189,6 +189,7 @@ scope :guests, -> { active.where(access_level: GUEST) } scope :planners, -> { active.where(access_level: PLANNER) } scope :reporters, -> { active.where(access_level: REPORTER) } + scope :planners_and_reporters, -> { active.where(access_level: [PLANNER, REPORTER]) } scope :developers, -> { active.where(access_level: DEVELOPER) } scope :maintainers, -> { active.where(access_level: MAINTAINER) } scope :non_guests, -> { where('members.access_level > ?', GUEST) } diff --git a/ee/app/policies/ee/merge_request_policy.rb b/ee/app/policies/ee/merge_request_policy.rb --- a/ee/app/policies/ee/merge_request_policy.rb (revision da66261bc7bb26e346fe55ee14474223b54e64a4) +++ b/ee/app/policies/ee/merge_request_policy.rb (date 1753182771313) @@ -82,7 +82,9 @@ end def group_access?(protected_branch) - protected_branch.approval_project_rules.for_groups(@user.group_members.reporters.select(:source_id)).exists? + protected_branch.approval_project_rules.for_groups( + @user.group_members.planners_and_reporters.select(:source_id) + ).exists? end rule { ~can_override_approvers }.prevent :update_approvers
-
Update documentation:
Edited by Eugenia Grieff