From 8c69ee67b824ebfdbb01c91ef7ca0436308685fc Mon Sep 17 00:00:00 2001 From: Kristina Lim Date: Mon, 10 Jun 2019 01:23:31 +0800 Subject: [PATCH] Refactor code for validating variant in reference to existing product --- app/models/product_import/entry_validator.rb | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/app/models/product_import/entry_validator.rb b/app/models/product_import/entry_validator.rb index 8eb545e170..be6f55854a 100644 --- a/app/models/product_import/entry_validator.rb +++ b/app/models/product_import/entry_validator.rb @@ -164,12 +164,22 @@ module ProductImport def variant_of_product_validation(entry) return if entry.producer.blank? || entry.name.blank? + validate_unit_type_unchanged(entry) + validate_variant_unit_name_unchanged(entry) + end + + def validate_unit_type_unchanged(entry) + return if entry.unit_type.blank? reference_entry = all_entries_for_product(entry).first - if entry.unit_type.present? && entry.unit_type.to_s != reference_entry.unit_type.to_s - mark_as_not_updatable(entry, "unit_type") - elsif entry.variant_unit_name.present? && entry.variant_unit_name.to_s != reference_entry.variant_unit_name.to_s - mark_as_not_updatable(entry, "variant_unit_name") - end + return if entry.unit_type.to_s == reference_entry.unit_type.to_s + mark_as_not_updatable(entry, "unit_type") + end + + def validate_variant_unit_name_unchanged(entry) + return if entry.variant_unit_name.blank? + reference_entry = all_entries_for_product(entry).first + return if entry.variant_unit_name.to_s == reference_entry.variant_unit_name.to_s + mark_as_not_updatable(entry, "variant_unit_name") end def producer_validation(entry)