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
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-11-13 20:40:47 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-11-13 20:40:47 +0300
commit18c8226566edb1c7fa43ccc1bf7a1db33f91489f (patch)
treeb69b5717d39d49ce49125e316f4fddd352d28b32 /app
parent58011d61c35beb4b55440caefcac6caa1905d891 (diff)
Refactor project fork service
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app')
-rw-r--r--app/services/projects/fork_service.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/app/services/projects/fork_service.rb b/app/services/projects/fork_service.rb
index c4f2d08efe9..4930660055a 100644
--- a/app/services/projects/fork_service.rb
+++ b/app/services/projects/fork_service.rb
@@ -13,11 +13,14 @@ module Projects
project = Project.new(project_params)
project.name = @from_project.name
project.path = @from_project.path
- project.namespace = @current_user.namespace
+ project.creator = @current_user
+
if namespace = @params[:namespace]
project.namespace = namespace
+ else
+ project.namespace = @current_user.namespace
end
- project.creator = @current_user
+
unless @current_user.can?(:create_projects, project.namespace)
project.errors.add(:namespace, 'insufficient access rights')
return project
@@ -47,8 +50,8 @@ module Projects
else
project.errors.add(:base, "Invalid fork destination")
end
- project
+ project
end
end
end