diff --git a/app/models/spree/variant.rb b/app/models/spree/variant.rb index 8f4f81edc6..77108bbaf4 100644 --- a/app/models/spree/variant.rb +++ b/app/models/spree/variant.rb @@ -78,6 +78,7 @@ module Spree } before_validation :set_cost_currency + before_validation :ensure_shipping_category before_validation :ensure_unit_value before_validation :update_weight_from_unit_value, if: ->(v) { v.product.present? } @@ -249,6 +250,10 @@ module Spree self.unit_value = 1.0 end + def ensure_shipping_category + self.shipping_category ||= DefaultShippingCategory.find_or_create + end + def convert_variant_weight_to_decimal self.weight = weight.to_d end