Sha256: ed9a7ac061b732a4f792ab0a45dbd2a687f934b4a440de2ac3f5f8d0d073af6e
Contents?: true
Size: 928 Bytes
Versions: 1
Compression:
Stored size: 928 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 next unless variant 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
solidus_product_assembly-1.0.0 | app/models/spree/stock/availability_validator.rb |