Prevent people from creating branches if they don't have persmission to push
This commit is contained in:
parent
61046e75d8
commit
19edeba8e3
3 changed files with 7 additions and 5 deletions
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Prevent people from creating branches if they don't have persmission to push
|
||||
merge_request:
|
||||
author:
|
|
@ -44,9 +44,7 @@ module Gitlab
|
|||
if ProtectedBranch.protected?(project, ref)
|
||||
return true if project.empty_repo? && project.user_can_push_to_empty_repo?(user)
|
||||
|
||||
has_access = project.protected_branches.protected_ref_accessible_to?(ref, user, action: :push)
|
||||
|
||||
has_access || !project.repository.branch_exists?(ref) && can_merge_to_branch?(ref)
|
||||
project.protected_branches.protected_ref_accessible_to?(ref, user, action: :push)
|
||||
else
|
||||
user.can?(:push_code, project)
|
||||
end
|
||||
|
|
|
@ -87,10 +87,10 @@ describe Gitlab::UserAccess, lib: true do
|
|||
expect(access.can_push_to_branch?(branch.name)).to be_falsey
|
||||
end
|
||||
|
||||
it 'returns true if branch does not exist and user has permission to merge' do
|
||||
it 'returns false if branch does not exist' do
|
||||
project.team << [user, :developer]
|
||||
|
||||
expect(access.can_push_to_branch?(not_existing_branch.name)).to be_truthy
|
||||
expect(access.can_push_to_branch?(not_existing_branch.name)).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue