Developers can merge MR if target branch is not protected
This commit is contained in:
parent
33cd1ae9dc
commit
92039dd677
4 changed files with 20 additions and 7 deletions
|
@ -81,7 +81,8 @@ class MergeRequestsController < ProjectResourceController
|
|||
end
|
||||
|
||||
def automerge
|
||||
return access_denied! unless can?(current_user, :accept_mr, @project)
|
||||
return access_denied! unless allowed_to_merge?
|
||||
|
||||
if @merge_request.opened? && @merge_request.can_be_merged?
|
||||
@merge_request.should_remove_source_branch = params[:should_remove_source_branch]
|
||||
@merge_request.automerge!(current_user)
|
||||
|
@ -143,5 +144,18 @@ class MergeRequestsController < ProjectResourceController
|
|||
# or from cache if already merged
|
||||
@commits = @merge_request.commits
|
||||
@commits = CommitDecorator.decorate(@commits)
|
||||
|
||||
@allowed_to_merge = allowed_to_merge?
|
||||
@show_merge_controls = @merge_request.opened? && @commits.any? && @allowed_to_merge
|
||||
end
|
||||
|
||||
def allowed_to_merge?
|
||||
action = if project.protected_branch?(@merge_request.target_branch)
|
||||
:push_code_to_protected_branches
|
||||
else
|
||||
:push_code
|
||||
end
|
||||
|
||||
can?(current_user, action, @project)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue