diff --git a/app/models/spree/line_item_decorator.rb b/app/models/spree/line_item_decorator.rb index 7012cec9ec..37637f7564 100644 --- a/app/models/spree/line_item_decorator.rb +++ b/app/models/spree/line_item_decorator.rb @@ -71,8 +71,10 @@ Spree::LineItem.class_eval do where('spree_adjustments.id IS NULL') } + # Overridden so that LineItems always have access to soft-deleted Variant attributes + # In some situations, unscoped super will be nil, in these cases we fetch the variant using the variant_id + # See isssue #4946 for more details def variant - # Overridden so that LineItems always have access to soft-deleted Variant attributes Spree::Variant.unscoped { super } || Spree::Variant.unscoped.find(self.variant_id) end