Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Artur <felipefac@gmail.com>2016-05-25 00:53:53 +0300
committerFelipe Artur <felipefac@gmail.com>2016-05-25 17:57:00 +0300
commit5273335247660465a39ffdcb1c801807e84b3eba (patch)
tree0eba37e98a775cdfccc6ba59ac3e8c86a9e1584b /app/services/projects
parent9a10205a4fdb79346f087318ec35110b17ba9153 (diff)
Fix forks creation when visibility level is restricted
Diffstat (limited to 'app/services/projects')
-rw-r--r--app/services/projects/fork_service.rb14
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