diff --git a/app/models/product_import/entry_processor.rb b/app/models/product_import/entry_processor.rb index 22bae53907..98a23d06fb 100644 --- a/app/models/product_import/entry_processor.rb +++ b/app/models/product_import/entry_processor.rb @@ -135,7 +135,7 @@ module ProductImport @inventory_created += 1 @updated_ids.push new_item.id else - @importer.errors.add("#{I18n.t('admin.product_import.model.line')} #{line_number}:", new_item.errors.full_messages) + assign_errors new_item.errors.full_messages, entry.line_number end end @@ -149,7 +149,7 @@ module ProductImport @inventory_updated += 1 @updated_ids.push existing_item.id else - @importer.errors.add("#{I18n.t('admin.product_import.model.line')} #{line_number}:", existing_item.errors.full_messages) + assign_errors existing_item.errors.full_messages, entry.line_number end end @@ -173,7 +173,7 @@ module ProductImport @products_created += 1 @updated_ids.push product.variants.first.id else - @importer.errors.add("#{I18n.t('admin.product_import.model.line')} #{line_number}:", product.errors.full_messages) + assign_errors product.errors.full_messages, entry.line_number end @already_created[entry.supplier_id] = { entry.name => product.id } @@ -188,11 +188,19 @@ module ProductImport @updated_ids.push variant.id true else - @importer.errors.add("#{I18n.t('admin.product_import.model.line')} #{line_number}:", variant.errors.full_messages) + assign_errors variant.errors.full_messages, entry.line_number false end end + def assign_errors(errors, line_number) + @importer.errors.add( + I18n.t('admin.product_import.model.line_number', + number: line_number), + errors + ) + end + def assign_defaults(object, entry) # Assigns a default value for a specified field e.g. category='Vegetables', setting this value # either for all entries (overwrite_all), or only for those entries where the field was blank diff --git a/config/locales/en.yml b/config/locales/en.yml index be7e43f7b5..0d02aa3933 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -520,7 +520,7 @@ en: products_no_permission: you do not have permission to manage products for this enterprise inventory_no_permission: you do not have permission to create inventory for this producer none_saved: did not save any products successfully - line: Line + line_number: "Line %{number}:" index: select_file: Select a spreadsheet to upload spreadsheet: Spreadsheet