6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'app/services/spree_cm_commissioner/pricing_models/activate.rb', line 6
def call(order:)
order_context = OrderContext.build_from_context(fallback_order: order)
preview_result = Preview.call(order_context: order_context)
return failure(nil, preview_result.error) if preview_result.failure?
pricing_preview = preview_result.value[:pricing_preview]
order.adjustments.pricing_action.delete_all
order.line_items.each { |line_item| line_item.adjustments.pricing_action.delete_all }
apply_pricing_adjustments(order, pricing_preview.pricing_adjustments)
success(order: order)
end
|