Sha256: 1030e5ac2db00cb5368d04cbefa1a5b9e77ecbc0c6504cfc4b5835a267c73635
Contents?: true
Size: 832 Bytes
Versions: 27
Compression:
Stored size: 832 Bytes
Contents
module Spree module AdjustmentSource extend ActiveSupport::Concern included do def deals_with_adjustments_for_deleted_source adjustment_scope = self.adjustments.includes(:order).references(:spree_orders) # For incomplete orders, remove the adjustment completely. adjustment_scope.where("spree_orders.completed_at IS NULL").destroy_all # For complete orders, the source will be invalid. # Therefore we nullify the source_id, leaving the adjustment in place. # This would mean that the order's total is not altered at all. adjustment_scope.where("spree_orders.completed_at IS NOT NULL").each do |adjustment| adjustment.update_columns( source_id: nil, updated_at: Time.now, ) end end end end end
Version data entries
27 entries across 27 versions & 2 rubygems