Sha256: cea083a5e0457e40ce5f12f095cabe8cc5b48e02325219a031bdb43ec54be19c
Contents?: true
Size: 919 Bytes
Versions: 2
Compression:
Stored size: 919 Bytes
Contents
module Spree OrderContents.class_eval do def add_to_line_item_with_parts(variant, quantity, options = {}) add_to_line_item_without_parts(variant, quantity, options). tap do |line_item| populate_part_line_items( line_item, variant.product.assemblies_parts, options["selected_variants"] ) end end alias_method_chain :add_to_line_item, :parts private def populate_part_line_items(line_item, parts, selected_variants) parts.each do |part| line_item.part_line_items.create!( line_item: line_item, variant_id: variant_id_for(part, selected_variants), quantity: part.count ) end end def variant_id_for(part, selected_variants) if part.variant_selection_deferred? selected_variants[part.id.to_s] else part.part.id end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
solidus_product_bundle-1.0.1 | app/models/spree/order_contents_decorator.rb |
solidus_product_bundle-1.0.0 | app/models/spree/order_contents_decorator.rb |