diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-05-25 20:47:46 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-05-25 20:47:46 +0000 |
commit | 74fb50041568e381513d2a9053d31a714797a0a8 (patch) | |
tree | 655cc4c6bb8db89a4d2423e25ed10759426bb4f9 /app | |
parent | 380966e861a3c0cfc1d2884939c6677599690206 (diff) | |
parent | 5273335247660465a39ffdcb1c801807e84b3eba (diff) | |
download | gitlab-ce-74fb50041568e381513d2a9053d31a714797a0a8.tar.gz |
Merge branch 'issue_10725' into 'master'
Fix forks creation when visibility level is restricted
fixes #10725
See merge request !4283
Diffstat (limited to 'app')
-rw-r--r-- | app/services/projects/fork_service.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/app/services/projects/fork_service.rb b/app/services/projects/fork_service.rb index 0577ae778d5..de6dc38cc8e 100644 --- a/app/services/projects/fork_service.rb +++ b/app/services/projects/fork_service.rb @@ -3,7 +3,7 @@ module Projects def execute new_params = { forked_from_project_id: @project.id, - visibility_level: @project.visibility_level, + visibility_level: allowed_visibility_level, description: @project.description, name: @project.name, path: @project.path, @@ -19,5 +19,17 @@ module Projects new_project = CreateService.new(current_user, new_params).execute new_project end + + private + + def allowed_visibility_level + project_level = @project.visibility_level + + if Gitlab::VisibilityLevel.non_restricted_level?(project_level) + project_level + else + Gitlab::VisibilityLevel.highest_allowed_level + end + end end end |