summaryrefslogtreecommitdiff
path: root/app/contexts
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-02-11 23:00:12 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-02-11 23:00:12 +0200
commit8bf8c70c4bdd14502c6f3ae314207b99aa2c9f49 (patch)
tree351d5a918750d438566390628f8f6923433d940d /app/contexts
parentab0cfc00367a60cfe9cc488521bf55882d54769a (diff)
downloadgitlab-ce-8bf8c70c4bdd14502c6f3ae314207b99aa2c9f49.tar.gz
Import repo feature
Diffstat (limited to 'app/contexts')
-rw-r--r--app/contexts/projects/create_context.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/app/contexts/projects/create_context.rb b/app/contexts/projects/create_context.rb
index 915bd8be8b0..8e1da539a6c 100644
--- a/app/contexts/projects/create_context.rb
+++ b/app/contexts/projects/create_context.rb
@@ -34,13 +34,23 @@ module Projects
@project.creator = current_user
+ # Import project from cloneable resource
+ if @project.valid? && @project.import_url.present?
+ shell = Gitlab::Shell.new
+ if shell.import_repository(@project.path_with_namespace, @project.import_url)
+ true
+ else
+ @project.errors.add(:import_url, 'cannot clone repo')
+ end
+ end
+
if @project.save
@project.users_projects.create(project_access: UsersProject::MASTER, user: current_user)
end
@project
- rescue => ex
- @project.errors.add(:base, "Can't save project. Please try again later")
+ #rescue => ex
+ #@project.errors.add(:base, "Can't save project. Please try again later")
@project
end