Fetch shared shipping/payment methods for order cycle checkout options in single query

This commit is contained in:
Cillian O'Ruanaidh
2022-06-25 12:44:43 +01:00
committed by Filipe
parent 6453bbcc1c
commit da3eea6005

View File

@@ -3,15 +3,17 @@
module Admin
module OrderCyclesHelper
def order_cycle_shared_payment_methods(order_cycle)
order_cycle.attachable_payment_methods.select do |payment_method|
(payment_method.distributor_ids & order_cycle.distributor_ids).many?
end
order_cycle.attachable_payment_methods.
where("distributor_id IN (?)", order_cycle.distributors.select(:id)).
group("spree_payment_methods.id").
having("COUNT(DISTINCT(distributor_id)) > 1")
end
def order_cycle_shared_shipping_methods(order_cycle)
order_cycle.attachable_shipping_methods.select do |shipping_method|
(shipping_method.distributor_ids & order_cycle.distributor_ids).many?
end
order_cycle.attachable_shipping_methods.
where("distributor_id IN (?)", order_cycle.distributors.select(:id)).
group("spree_shipping_methods.id").
having("COUNT(DISTINCT(distributor_id)) > 1")
end
end
end