diff --git a/app/models/spree/order_decorator.rb b/app/models/spree/order_decorator.rb index 28d487d6fd..688f1b3b16 100644 --- a/app/models/spree/order_decorator.rb +++ b/app/models/spree/order_decorator.rb @@ -75,6 +75,12 @@ Spree::Order.class_eval do joins('LEFT OUTER JOIN spree_products ON (spree_products.id = spree_variants.product_id)') } + scope :with_line_items_variants_and_products, lambda { + joins('INNER JOIN spree_line_items ON (spree_line_items.order_id = spree_orders.id)'). + joins('INNER JOIN spree_variants ON (spree_variants.id = spree_line_items.variant_id)'). + joins('INNER JOIN spree_products ON (spree_products.id = spree_variants.product_id)') + } + scope :not_state, lambda { |state| where("state != ?", state) } diff --git a/app/services/permissions/order.rb b/app/services/permissions/order.rb index 5e95ba92c8..cf44b1e0ae 100644 --- a/app/services/permissions/order.rb +++ b/app/services/permissions/order.rb @@ -10,7 +10,7 @@ module Permissions # Find orders that the user can see def visible_orders Spree::Order. - with_line_items_variants_and_products_outer. + with_line_items_variants_and_products. where(visible_orders_where_values) end