Sha256: 384f91cd1520ffb4bb318281c3d95dad51c76f7290e1d7bceb7f2aec705d4cd1
Contents?: true
Size: 799 Bytes
Versions: 3
Compression:
Stored size: 799 Bytes
Contents
# frozen_string_literal: true module SolidusPromotions module LineItemDecorator def self.prepended(base) base.attr_accessor :quantity_setter base.belongs_to :managed_by_order_benefit, class_name: "SolidusPromotions::Benefit", optional: true base.validate :validate_managed_quantity_same, on: :update base.after_save :reset_quantity_setter end private def validate_managed_quantity_same if managed_by_order_benefit && quantity_changed? && quantity_setter != managed_by_order_benefit errors.add(:quantity, :cannot_be_changed_for_automated_items) end end def reset_quantity_setter @quantity_setter = nil end Spree::LineItem.prepend self Spree::LineItem.prepend SolidusPromotions::DiscountableAmount end end
Version data entries
3 entries across 3 versions & 1 rubygems