diff options
Diffstat (limited to 'app/controllers/projects/application_controller.rb')
-rw-r--r-- | app/controllers/projects/application_controller.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/app/controllers/projects/application_controller.rb b/app/controllers/projects/application_controller.rb index 6d9b42a2c04..cbb14b55399 100644 --- a/app/controllers/projects/application_controller.rb +++ b/app/controllers/projects/application_controller.rb @@ -34,8 +34,12 @@ class Projects::ApplicationController < ApplicationController def can_collaborate_with_project?(project = nil, ref: nil) project ||= @project + can_create_merge_request = + can?(current_user, :create_merge_request_in_project, project) && + current_user.already_forked?(project) + can?(current_user, :push_code, project) || - (current_user && current_user.already_forked?(project)) || + can_create_merge_request || user_access(project).can_push_to_branch?(ref) end |