diff --git a/Gemfile.lock b/Gemfile.lock index 17133545a..afcb41b51 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -83,7 +83,7 @@ GEM activemodel (= 5.1.1) activesupport (= 5.1.1) arel (~> 8.0) - activerecord-import (0.22.0) + activerecord-import (0.23.0) activerecord (>= 3.2) activesupport (5.1.1) concurrent-ruby (~> 1.0, >= 1.0.2) diff --git a/app/models/repository_cell.rb b/app/models/repository_cell.rb index 650dcba78..60224fa9a 100644 --- a/app/models/repository_cell.rb +++ b/app/models/repository_cell.rb @@ -1,4 +1,6 @@ class RepositoryCell < ActiveRecord::Base + attr_accessor :importing + belongs_to :repository_row belongs_to :repository_column belongs_to :value, polymorphic: true, @@ -28,7 +30,8 @@ class RepositoryCell < ActiveRecord::Base validates :repository_column, presence: true validate :repository_column_data_type validates :repository_row, - uniqueness: { scope: :repository_column } + uniqueness: { scope: :repository_column }, + unless: :importing private diff --git a/app/utilities/repository_import_parser/importer.rb b/app/utilities/repository_import_parser/importer.rb index 0274ec295..2ba54e6aa 100644 --- a/app/utilities/repository_import_parser/importer.rb +++ b/app/utilities/repository_import_parser/importer.rb @@ -94,6 +94,7 @@ module RepositoryImportParser cell_value_resolver.column_list_items_size end next if cell_value.nil? # checks the case if we reach items limit + cell_value.repository_cell.importing = true unless cell_value.valid? errors = true raise ActiveRecord::Rollback