From 3cc79d0036e63de8c163a42f7f1a2f7a91cc0c24 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Fri, 5 Dec 2014 15:52:10 +1100 Subject: [PATCH 1/2] Filter deleted products in products report BugHerd 484: Remove deleted products from Product / Inventory reports --- lib/open_food_network/products_and_inventory_report.rb | 6 +++++- .../open_food_network/products_and_inventory_report_spec.rb | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/open_food_network/products_and_inventory_report.rb b/lib/open_food_network/products_and_inventory_report.rb index 487ccfa67d..0e6eb086f1 100644 --- a/lib/open_food_network/products_and_inventory_report.rb +++ b/lib/open_food_network/products_and_inventory_report.rb @@ -60,7 +60,11 @@ module OpenFoodNetwork def filter(variants) # NOTE: Ordering matters. # filter_to_order_cycle and filter_to_distributor return Arrays not Arel - filter_to_distributor filter_to_order_cycle filter_on_hand filter_to_supplier variants + filter_to_distributor filter_to_order_cycle filter_on_hand filter_to_supplier filter_not_deleted variants + end + + def filter_not_deleted(variants) + variants.where("spree_variants.deleted_at is null") end def filter_on_hand(variants) diff --git a/spec/lib/open_food_network/products_and_inventory_report_spec.rb b/spec/lib/open_food_network/products_and_inventory_report_spec.rb index 9e449219e6..2e23919fe6 100644 --- a/spec/lib/open_food_network/products_and_inventory_report_spec.rb +++ b/spec/lib/open_food_network/products_and_inventory_report_spec.rb @@ -115,6 +115,12 @@ module OpenFoodNetwork product2 = create(:simple_product, supplier: supplier) subject.filter(Spree::Variant.scoped).sort.should == [product1.master, product2.master].sort end + it "should filter deleted products" do + product1 = create(:simple_product, supplier: supplier) + product2 = create(:simple_product, supplier: supplier) + product2.delete + subject.filter(Spree::Variant.scoped).sort.should == [product1.master].sort + end describe "based on report type" do it "returns only variants on hand" do product1 = create(:simple_product, supplier: supplier, on_hand: 99) From eab2e5de2aada10aaba95d9dd722cdc8c7bcfc17 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Thu, 11 Dec 2014 15:00:44 +1100 Subject: [PATCH 2/2] Use scope --- lib/open_food_network/products_and_inventory_report.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/open_food_network/products_and_inventory_report.rb b/lib/open_food_network/products_and_inventory_report.rb index 0e6eb086f1..1cb485efee 100644 --- a/lib/open_food_network/products_and_inventory_report.rb +++ b/lib/open_food_network/products_and_inventory_report.rb @@ -64,7 +64,7 @@ module OpenFoodNetwork end def filter_not_deleted(variants) - variants.where("spree_variants.deleted_at is null") + variants.not_deleted end def filter_on_hand(variants)