diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index ef568bca36..de7da9497e 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -106,6 +106,10 @@ module Spree before_save :update_payment_fees!, if: :complete? # -- Scopes + scope :not_empty, -> { + joins(:line_items).group(:id).having("count(spree_line_items.id) > 0") + } + scope :managed_by, lambda { |user| if user.has_spree_role?('admin') where(nil) diff --git a/app/services/search_orders.rb b/app/services/search_orders.rb index 0da52721f3..4b2f87e396 100644 --- a/app/services/search_orders.rb +++ b/app/services/search_orders.rb @@ -23,7 +23,8 @@ class SearchOrders end def search_query - base_query = ::Permissions::Order.new(current_user).editable_orders + base_query = ::Permissions::Order.new(current_user).editable_orders.not_empty + return base_query unless params[:shipping_method_id] base_query