Extract #distributed_product_properties method

This commit is contained in:
Pau Perez
2019-01-10 17:48:09 +01:00
parent 6e9bb640f6
commit 24c031b3cd

View File

@@ -83,19 +83,21 @@ module Api
# This results in 3 queries per enterprise
def distributed_properties
(distributed_product_properties + distributed_producer_properties).uniq do |property_object|
property_object.property.presentation
end
end
def distributed_product_properties
if active
product_properties = Spree::Property.currently_sold_by(enterprise)
Spree::Property.currently_sold_by(enterprise)
else
product_properties = Spree::Property
Spree::Property
.joins(products: { variants: { exchanges: :order_cycle } })
.merge(Exchange.outgoing)
.merge(Exchange.to_enterprise(enterprise))
.select('DISTINCT spree_properties.*')
end
(product_properties + distributed_producer_properties).uniq do |property_object|
property_object.property.presentation
end
end
def distributed_producer_properties