Fix importers with OCC
This commit is contained in:
parent
e0caed91e2
commit
ed4c7190ed
|
@ -3,19 +3,17 @@ class Import::BaseController < ApplicationController
|
|||
private
|
||||
|
||||
def get_or_create_namespace
|
||||
existing_namespace = Namespace.find_by_path_or_name(@target_namespace)
|
||||
|
||||
if existing_namespace
|
||||
if existing_namespace.owner == current_user
|
||||
namespace = existing_namespace
|
||||
else
|
||||
begin
|
||||
namespace = Group.create!(name: @target_namespace, path: @target_namespace, owner: current_user)
|
||||
namespace.add_owner(current_user)
|
||||
rescue ActiveRecord::RecordNotUnique, ActiveRecord::RecordInvalid
|
||||
namespace = Namespace.find_by_path_or_name(@target_namespace)
|
||||
unless namespace.owner == current_user
|
||||
@already_been_taken = true
|
||||
return false
|
||||
end
|
||||
else
|
||||
namespace = Group.create(name: @target_namespace, path: @target_namespace, owner: current_user)
|
||||
namespace.add_owner(current_user)
|
||||
namespace
|
||||
end
|
||||
|
||||
namespace
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
class AddUniqueIndexToNamespace < ActiveRecord::Migration
|
||||
def change
|
||||
remove_index :namespaces, :name
|
||||
remove_index :namespaces, :path
|
||||
|
||||
add_index :namespaces, :name, unique: true
|
||||
add_index :namespaces, :path, unique: true
|
||||
end
|
||||
end
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20150225065047) do
|
||||
ActiveRecord::Schema.define(version: 20150306023112) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -242,9 +242,9 @@ ActiveRecord::Schema.define(version: 20150225065047) do
|
|||
end
|
||||
|
||||
add_index "namespaces", ["created_at", "id"], name: "index_namespaces_on_created_at_and_id", using: :btree
|
||||
add_index "namespaces", ["name"], name: "index_namespaces_on_name", using: :btree
|
||||
add_index "namespaces", ["name"], name: "index_namespaces_on_name", unique: true, using: :btree
|
||||
add_index "namespaces", ["owner_id"], name: "index_namespaces_on_owner_id", using: :btree
|
||||
add_index "namespaces", ["path"], name: "index_namespaces_on_path", using: :btree
|
||||
add_index "namespaces", ["path"], name: "index_namespaces_on_path", unique: true, using: :btree
|
||||
add_index "namespaces", ["type"], name: "index_namespaces_on_type", using: :btree
|
||||
|
||||
create_table "notes", force: true do |t|
|
||||
|
@ -334,12 +334,12 @@ ActiveRecord::Schema.define(version: 20150225065047) do
|
|||
t.string "import_url"
|
||||
t.integer "visibility_level", default: 0, null: false
|
||||
t.boolean "archived", default: false, null: false
|
||||
t.string "avatar"
|
||||
t.string "import_status"
|
||||
t.float "repository_size", default: 0.0
|
||||
t.integer "star_count", default: 0, null: false
|
||||
t.string "import_type"
|
||||
t.string "import_source"
|
||||
t.string "avatar"
|
||||
end
|
||||
|
||||
add_index "projects", ["created_at", "id"], name: "index_projects_on_created_at_and_id", using: :btree
|
||||
|
|
Loading…
Reference in New Issue