Sha256: 50b75bc4f6ef13f2a1c773b0cd5f1c7fb40391f6087f603a6f2d4ad8a5e1c24e
Contents?: true
Size: 898 Bytes
Versions: 2
Compression:
Stored size: 898 Bytes
Contents
module Spree module Stock # Overridden from spree core to make it also check for assembly parts stock class AvailabilityValidator < ActiveModel::Validator def validate(line_item) line_item.quantity_by_variant.each do |variant, variant_quantity| inventory_units = line_item.inventory_units.where(variant: variant).count quantity = variant_quantity - inventory_units next if quantity <= 0 quantifier = Stock::Quantifier.new(variant) unless quantifier.can_supply? quantity display_name = %Q{#{variant.name}} display_name += %Q{ (#{variant.options_text})} unless variant.options_text.blank? line_item.errors[:quantity] << Spree.t( :selected_quantity_not_available, item: display_name.inspect ) end end 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/stock/availability_validator.rb |
solidus_product_bundle-1.0.0 | app/models/spree/stock/availability_validator.rb |