Commit d514833a authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Dont show new file link on protected branch for developers

Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 2c46b35b
module BranchesHelper module BranchesHelper
def can_remove_branch?(project, branch_name) def can_remove_branch?(project, branch_name)
if project.protected_branch? branch_name if project.protected_branch? branch_name
false false
elsif branch_name == project.repository.root_ref elsif branch_name == project.repository.root_ref
false false
else else
can?(current_user, :push_code, project) can?(current_user, :push_code, project)
end end
end
def can_push_branch?(project, branch_name)
return false unless project.repository.branch_names.include?(branch_name)
action = if project.protected_branch?(branch_name)
:push_code_to_protected_branches
else
:push_code
end
current_user.can?(action, project)
end end
end end
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
= link_to truncate(title, length: 40), project_tree_path(@project, path) = link_to truncate(title, length: 40), project_tree_path(@project, path)
- else - else
= link_to title, '#' = link_to title, '#'
- if current_user && @repository.branch_names.include?(@ref) && current_user.can?(:push_code, @project) - if current_user && can_push_branch?(@project, @ref)
%li %li
= link_to project_new_tree_path(@project, @id), title: 'New file', id: 'new-file-link' do = link_to project_new_tree_path(@project, @id), title: 'New file', id: 'new-file-link' do
%small %small
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment