diff --git a/app/helpers/admin/order_cycles_helper.rb b/app/helpers/admin/order_cycles_helper.rb index c046ded504..6bc3fea258 100644 --- a/app/helpers/admin/order_cycles_helper.rb +++ b/app/helpers/admin/order_cycles_helper.rb @@ -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