diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-01-02 15:03:06 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-01-02 15:03:06 +0000 |
commit | 88e7378c8cab4160fe858d2483362d1575b43125 (patch) | |
tree | 1ac16f538a3153d11c9e3255f76a84fa18c7a50d /app | |
parent | 3f44c4cedbbd9b72fdf28e83caaec345934e1d8d (diff) | |
parent | 0618487906a8b44eea7cb858aff45a5d5ea4cfff (diff) | |
download | gitlab-ce-88e7378c8cab4160fe858d2483362d1575b43125.tar.gz |
Merge branch 'bvl-fork-public-project-to-private-namespace' into 'master'
Forking a project to a namespace with lower visibility
Closes #40022
See merge request gitlab-org/gitlab-ce!16050
Diffstat (limited to 'app')
-rw-r--r-- | app/services/projects/fork_service.rb | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/app/services/projects/fork_service.rb b/app/services/projects/fork_service.rb index 03be7039b2a..348eb0bf8d8 100644 --- a/app/services/projects/fork_service.rb +++ b/app/services/projects/fork_service.rb @@ -26,7 +26,7 @@ module Projects name: @project.name, path: @project.path, shared_runners_enabled: @project.shared_runners_enabled, - namespace_id: @params[:namespace].try(:id) || current_user.namespace.id + namespace_id: target_namespace.id } if @project.avatar.present? && @project.avatar.image? @@ -74,14 +74,14 @@ module Projects Projects::ForksCountService.new(@project).refresh_cache end + def target_namespace + @target_namespace ||= @params[:namespace] || current_user.namespace + end + def allowed_visibility_level - project_level = @project.visibility_level + target_level = [@project.visibility_level, target_namespace.visibility_level].min - if Gitlab::VisibilityLevel.non_restricted_level?(project_level) - project_level - else - Gitlab::VisibilityLevel.highest_allowed_level - end + Gitlab::VisibilityLevel.closest_allowed_level(target_level) end end end |