From 30b2bc88e919530964ce14fe3bb91e76bce01284 Mon Sep 17 00:00:00 2001 From: Gregor Lasnibat Date: Thu, 14 Mar 2024 07:24:14 +0100 Subject: [PATCH] (dev) Skip archived items and items not in the current inventory when importing an inventory [SCI-10398] --- app/utilities/repository_import_parser/importer.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/utilities/repository_import_parser/importer.rb b/app/utilities/repository_import_parser/importer.rb index 1e97b3f21..4fcf24f88 100644 --- a/app/utilities/repository_import_parser/importer.rb +++ b/app/utilities/repository_import_parser/importer.rb @@ -82,11 +82,8 @@ module RepositoryImportParser incoming_row.each_with_index do |value, index| if index == @name_index - # extract row_id - row_id = try_decimal_to_string(value) - # check if row (inventory) already exists - existing_row = RepositoryRow.find_by(name: row_id, repository: @repository) + existing_row = RepositoryRow.find_by(id: incoming_row[0]) # if it doesn't exist create it unless existing_row @@ -145,7 +142,15 @@ module RepositoryImportParser end def import_batch_to_database(full_row_import_batch, can_edit_existing_items, should_overwrite_with_empty_cells) + skipped_rows = [] + full_row_import_batch.each do |full_row| + # skip archived rows and rows that belong to other repositories + if full_row[:repository_row].archived || full_row[:repository_row].repository_id != @repository.id + skipped_rows << full_row[:repository_row] + next + end + full_row[:repository_row].save!(validate: false) @new_rows_added += 1