summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-01-02 15:03:06 +0000
committerDouwe Maan <douwe@gitlab.com>2018-01-02 15:03:06 +0000
commit88e7378c8cab4160fe858d2483362d1575b43125 (patch)
tree1ac16f538a3153d11c9e3255f76a84fa18c7a50d /app
parent3f44c4cedbbd9b72fdf28e83caaec345934e1d8d (diff)
parent0618487906a8b44eea7cb858aff45a5d5ea4cfff (diff)
downloadgitlab-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.rb14
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