diff --git a/lib/spree/core/product_duplicator.rb b/lib/spree/core/product_duplicator.rb index 68a1ced2d7..486faacbce 100644 --- a/lib/spree/core/product_duplicator.rb +++ b/lib/spree/core/product_duplicator.rb @@ -33,12 +33,16 @@ module Spree def duplicate_master master = product.master - master.dup.tap do |new_master| - new_master.sku = "" - new_master.deleted_at = nil - new_master.images = master.images.map { |image| duplicate_image image } - new_master.price = master.price - new_master.currency = master.currency + duplicate_variant(master) + end + + def duplicate_variant(variant) + variant.dup.tap do |new_variant| + new_variant.sku = "" + new_variant.deleted_at = nil + new_variant.images = variant.images.map { |image| duplicate_image image } + new_variant.price = variant.price + new_variant.currency = variant.currency end end