diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-06-14 16:30:48 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-06-14 16:30:48 +0300 |
commit | e7c930a55b9832a767bfb1a5e2a8add8f9e719f9 (patch) | |
tree | 93f264dce4f668f21a9155229ab640f25282e810 | |
parent | da98cebc5bd72f5cfc25c50fcaecbe952db5f3ed (diff) | |
download | gitlab-ce-e7c930a55b9832a767bfb1a5e2a8add8f9e719f9.tar.gz |
Add imported boolean to project. Prevent shell from creating repo after it was imported
-rw-r--r-- | app/contexts/projects/create_context.rb | 1 | ||||
-rw-r--r-- | app/helpers/application_helper.rb | 2 | ||||
-rw-r--r-- | app/models/project.rb | 4 | ||||
-rw-r--r-- | app/observers/project_observer.rb | 16 | ||||
-rw-r--r-- | db/migrate/20130614132337_add_improted_to_project.rb | 5 | ||||
-rw-r--r-- | db/schema.rb | 3 |
6 files changed, 21 insertions, 10 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) diff --git a/db/migrate/20130614132337_add_improted_to_project.rb b/db/migrate/20130614132337_add_improted_to_project.rb new file mode 100644 index 00000000000..cc882c3f10a --- /dev/null +++ b/db/migrate/20130614132337_add_improted_to_project.rb @@ -0,0 +1,5 @@ +class AddImprotedToProject < ActiveRecord::Migration + def change + add_column :projects, :imported, :boolean, default: false, null: false + end +end diff --git a/db/schema.rb b/db/schema.rb index bec32c1d52a..c3c751e3a19 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20130613173246) do +ActiveRecord::Schema.define(:version => 20130614132337) do create_table "deploy_keys_projects", :force => true do |t| t.integer "deploy_key_id", :null => false @@ -172,6 +172,7 @@ ActiveRecord::Schema.define(:version => 20130613173246) do t.string "issues_tracker_id" t.boolean "snippets_enabled", :default => true, :null => false t.datetime "last_activity_at" + t.boolean "imported", :default => false, :null => false end add_index "projects", ["creator_id"], :name => "index_projects_on_owner_id" |