From 99f0be2f1cced65bc2124d02303a8e3e0870bb0d Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Fri, 25 Jan 2019 17:46:05 +1100 Subject: [PATCH] Remove unnecessary scope Variant.not_deleted Spree made that scope default so that we don't need to define or call it. There might be cases in which we were showing deleted variants and now we are not, but I have not idea how to find them. Related Spree commit: - https://github.com/openfoodfoundation/spree/commit/cd3add960ef04f5881b508a07a503b3f7cade883 --- .../spree/api/products_controller_decorator.rb | 4 ++-- app/models/order_cycle.rb | 4 +--- app/models/product_import/entry_processor.rb | 1 - app/models/spree/variant_decorator.rb | 1 - .../api/admin/for_order_cycle/enterprise_serializer.rb | 4 ++-- .../products_and_inventory_report_base.rb | 6 +----- spec/models/spree/variant_spec.rb | 10 ---------- 7 files changed, 6 insertions(+), 24 deletions(-) diff --git a/app/controllers/spree/api/products_controller_decorator.rb b/app/controllers/spree/api/products_controller_decorator.rb index a58b4e47b2..3fb8a0806c 100644 --- a/app/controllers/spree/api/products_controller_decorator.rb +++ b/app/controllers/spree/api/products_controller_decorator.rb @@ -56,8 +56,8 @@ Spree::Api::ProductsController.class_eval do def product_scope if current_api_user.has_spree_role?("admin") || current_api_user.enterprises.present? # This line modified scope = Spree::Product - unless params[:show_deleted] - scope = scope.not_deleted + if params[:show_deleted] + scope = scope.with_deleted end else scope = Spree::Product.active diff --git a/app/models/order_cycle.rb b/app/models/order_cycle.rb index ac9b7d8cb8..0fc159fb8d 100644 --- a/app/models/order_cycle.rb +++ b/app/models/order_cycle.rb @@ -146,7 +146,6 @@ class OrderCycle < ActiveRecord::Base Spree::Variant. joins(:exchanges). merge(Exchange.in_order_cycle(self)). - not_deleted. select('DISTINCT spree_variants.*'). to_a # http://stackoverflow.com/q/15110166 end @@ -163,9 +162,8 @@ class OrderCycle < ActiveRecord::Base def variants_distributed_by(distributor) return Spree::Variant.where("1=0") unless distributor.present? Spree::Variant. - not_deleted. - merge(distributor.inventory_variants). joins(:exchanges). + merge(distributor.inventory_variants). merge(Exchange.in_order_cycle(self)). merge(Exchange.outgoing). merge(Exchange.to_enterprise(distributor)) diff --git a/app/models/product_import/entry_processor.rb b/app/models/product_import/entry_processor.rb index bd9ef94d45..4e9b52cfad 100644 --- a/app/models/product_import/entry_processor.rb +++ b/app/models/product_import/entry_processor.rb @@ -49,7 +49,6 @@ module ProductImport VariantOverride.for_hubs([enterprise_id]).count else Spree::Variant. - not_deleted. not_master. joins(:product). where('spree_products.supplier_id IN (?)', enterprise_id). diff --git a/app/models/spree/variant_decorator.rb b/app/models/spree/variant_decorator.rb index 5f67825537..30f695f70b 100644 --- a/app/models/spree/variant_decorator.rb +++ b/app/models/spree/variant_decorator.rb @@ -35,7 +35,6 @@ Spree::Variant.class_eval do scope :with_order_cycles_inner, joins(exchanges: :order_cycle) - scope :not_deleted, where(deleted_at: nil) scope :not_master, where(is_master: false) scope :in_order_cycle, lambda { |order_cycle| with_order_cycles_inner. diff --git a/app/serializers/api/admin/for_order_cycle/enterprise_serializer.rb b/app/serializers/api/admin/for_order_cycle/enterprise_serializer.rb index 8e4dee5f5d..0eb9b642ef 100644 --- a/app/serializers/api/admin/for_order_cycle/enterprise_serializer.rb +++ b/app/serializers/api/admin/for_order_cycle/enterprise_serializer.rb @@ -31,9 +31,9 @@ class Api::Admin::ForOrderCycle::EnterpriseSerializer < ActiveModel::Serializer def products return @products unless @products.nil? @products = if order_cycle.prefers_product_selection_from_coordinator_inventory_only? - object.supplied_products.not_deleted.visible_for(order_cycle.coordinator) + object.supplied_products.visible_for(order_cycle.coordinator) else - object.supplied_products.not_deleted + object.supplied_products end end diff --git a/lib/open_food_network/products_and_inventory_report_base.rb b/lib/open_food_network/products_and_inventory_report_base.rb index 15110047d9..04a587d215 100644 --- a/lib/open_food_network/products_and_inventory_report_base.rb +++ b/lib/open_food_network/products_and_inventory_report_base.rb @@ -31,11 +31,7 @@ module OpenFoodNetwork end def filter(variants) - filter_on_hand filter_to_distributor filter_to_order_cycle filter_to_supplier filter_not_deleted variants - end - - def filter_not_deleted(variants) - variants.not_deleted + filter_on_hand filter_to_distributor filter_to_order_cycle filter_to_supplier variants end # Using the `in_stock?` method allows overrides by distributors. diff --git a/spec/models/spree/variant_spec.rb b/spec/models/spree/variant_spec.rb index 5894b4e12d..7be1becbbd 100644 --- a/spec/models/spree/variant_spec.rb +++ b/spec/models/spree/variant_spec.rb @@ -13,16 +13,6 @@ module Spree end describe "scopes" do - it "finds non-deleted variants" do - v_not_deleted = create(:variant) - v_deleted = create(:variant) - v_deleted.deleted_at = Time.zone.now - v_deleted.save - - Spree::Variant.not_deleted.should include v_not_deleted - Spree::Variant.not_deleted.should_not include v_deleted - end - describe "finding variants in a distributor" do let!(:d1) { create(:distributor_enterprise) } let!(:d2) { create(:distributor_enterprise) }