diff --git a/app/jobs/backorder_job.rb b/app/jobs/backorder_job.rb index 1db8d1d6ad..64c9cd8e62 100644 --- a/app/jobs/backorder_job.rb +++ b/app/jobs/backorder_job.rb @@ -59,13 +59,7 @@ class BackorderJob < ApplicationJob place_order(user, order, orderer, backorder) - items.each do |item| - variant = item.variant - quantity = ordered_quantities[item] - next if quantity.zero? - - variant.on_hand += quantity if variant.on_demand - end + adjust_stock(items, ordered_quantities) end # We look at linked variants which are either stock controlled or @@ -143,4 +137,14 @@ class BackorderJob < ApplicationJob order.exchange.semantic_links.create!(semantic_id: placed_order.semanticId) end + + def adjust_stock(items, ordered_quantities) + items.each do |item| + variant = item.variant + quantity = ordered_quantities[item] + next if quantity.zero? + + variant.on_hand += quantity if variant.on_demand + end + end end