summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-06-14 16:30:48 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-06-14 16:30:48 +0300
commite7c930a55b9832a767bfb1a5e2a8add8f9e719f9 (patch)
tree93f264dce4f668f21a9155229ab640f25282e810 /app
parentda98cebc5bd72f5cfc25c50fcaecbe952db5f3ed (diff)
downloadgitlab-ce-e7c930a55b9832a767bfb1a5e2a8add8f9e719f9.tar.gz
Add imported boolean to project. Prevent shell from creating repo after it was imported
Diffstat (limited to 'app')
-rw-r--r--app/contexts/projects/create_context.rb1
-rw-r--r--app/helpers/application_helper.rb2
-rw-r--r--app/models/project.rb4
-rw-r--r--app/observers/project_observer.rb16
4 files changed, 14 insertions, 9 deletions
diff --git a/app/contexts/projects/create_context.rb b/app/contexts/projects/create_context.rb
index 2922564ba20..d3b8dee3948 100644
--- a/app/contexts/projects/create_context.rb
+++ b/app/contexts/projects/create_context.rb
@@ -51,6 +51,7 @@ module Projects
if shell.import_repository(@project.path_with_namespace, @project.import_url)
# We should create satellite for imported repo
@project.satellite.create unless @project.satellite.exists?
+ @project.imported = true
true
else
@project.errors.add(:import_url, 'cannot clone repo')
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 663a414fff2..a73d574f22e 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -142,7 +142,7 @@ module ApplicationHelper
end
def user_color_scheme_class
- COLOR_SCHEMES[current_user.try(:color_scheme_id)]
+ COLOR_SCHEMES[current_user.try(:color_scheme_id)] if defined?(current_user)
end
# Define whenever show last push event
diff --git a/app/models/project.rb b/app/models/project.rb
index 22a9c1ffd63..234d5e98b4f 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -413,6 +413,10 @@ class Project < ActiveRecord::Base
!(forked_project_link.nil? || forked_project_link.forked_from_project.nil?)
end
+ def imported?
+ imported
+ end
+
def rename_repo
old_path_with_namespace = File.join(namespace_dir, path_was)
new_path_with_namespace = File.join(namespace_dir, path)
diff --git a/app/observers/project_observer.rb b/app/observers/project_observer.rb
index bd88bb838ef..3d4d161a1a2 100644
--- a/app/observers/project_observer.rb
+++ b/app/observers/project_observer.rb
@@ -1,13 +1,13 @@
class ProjectObserver < BaseObserver
def after_create(project)
- unless project.forked?
- GitlabShellWorker.perform_async(
- :add_repository,
- project.path_with_namespace
- )
-
- log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"")
- end
+ return true if project.forked? || project.imported?
+
+ GitlabShellWorker.perform_async(
+ :add_repository,
+ project.path_with_namespace
+ )
+
+ log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"")
end
def after_update(project)