From 018772bbba5d8592951d626f65900e0525696b68 Mon Sep 17 00:00:00 2001 From: Pau Perez Date: Fri, 12 Jun 2020 14:02:48 +0200 Subject: [PATCH 1/2] Remove N+1 fetching payments in report --- lib/open_food_network/payments_report.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/open_food_network/payments_report.rb b/lib/open_food_network/payments_report.rb index f9f536171f..3fc8095b36 100644 --- a/lib/open_food_network/payments_report.rb +++ b/lib/open_food_network/payments_report.rb @@ -41,7 +41,7 @@ module OpenFoodNetwork return [] unless @render_table orders = search.result - payments = orders.map { |o| o.payments.select(&:completed?) }.flatten # Only select completed payments + payments = orders.includes(:payments).map { |o| o.payments.select(&:completed?) }.flatten # Only select completed payments case params[:report_type] when "payments_by_payment_type" payments From df887b557659e3ddf0a7e63da43eca8b29c23fe3 Mon Sep 17 00:00:00 2001 From: Pau Perez Date: Mon, 15 Jun 2020 09:25:30 +0200 Subject: [PATCH 2/2] Wrap long line pick e84e0aebe Fix fatal error in reports helper for orders without payments pick e725f3331 Defend from an order w/o payments when building table --- lib/open_food_network/payments_report.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/open_food_network/payments_report.rb b/lib/open_food_network/payments_report.rb index 3fc8095b36..3c2fbbd24b 100644 --- a/lib/open_food_network/payments_report.rb +++ b/lib/open_food_network/payments_report.rb @@ -41,7 +41,10 @@ module OpenFoodNetwork return [] unless @render_table orders = search.result - payments = orders.includes(:payments).map { |o| o.payments.select(&:completed?) }.flatten # Only select completed payments + payments = orders.includes(:payments).map do |order| + order.payments.select(&:completed?) + end.flatten + case params[:report_type] when "payments_by_payment_type" payments