mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Don't compile customers report data before search
Distributors, suppliers and order cycles are still loaded for the search form.
This commit is contained in:
@@ -63,7 +63,7 @@ Spree::Admin::ReportsController.class_eval do
|
||||
def customers
|
||||
@report_types = report_types[:customers]
|
||||
@report_type = params[:report_type]
|
||||
@report = OpenFoodNetwork::CustomersReport.new spree_current_user, params
|
||||
@report = OpenFoodNetwork::CustomersReport.new spree_current_user, params, render_content?
|
||||
render_report(@report.header, @report.table, params[:csv], "customers_#{timestamp}.csv")
|
||||
end
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
module OpenFoodNetwork
|
||||
class CustomersReport
|
||||
attr_reader :params
|
||||
def initialize(user, params = {})
|
||||
def initialize(user, params = {}, compile_table = false)
|
||||
@params = params
|
||||
@user = user
|
||||
@compile_table = compile_table
|
||||
end
|
||||
|
||||
def header
|
||||
@@ -25,6 +26,7 @@ module OpenFoodNetwork
|
||||
end
|
||||
|
||||
def table
|
||||
return [] unless @compile_table
|
||||
orders.map do |order|
|
||||
if is_mailing_list?
|
||||
[order.email,
|
||||
|
||||
@@ -261,7 +261,7 @@ describe Spree::Admin::ReportsController, type: :controller do
|
||||
|
||||
it "creates a CustomersReport" do
|
||||
expect(OpenFoodNetwork::CustomersReport).to receive(:new)
|
||||
.with(@admin_user, {"test" => "foo", "controller" => "spree/admin/reports", "action" => "customers"})
|
||||
.with(@admin_user, {"test" => "foo", "controller" => "spree/admin/reports", "action" => "customers"}, false)
|
||||
.and_return(report = double(:report))
|
||||
allow(report).to receive(:header).and_return []
|
||||
allow(report).to receive(:table).and_return []
|
||||
|
||||
@@ -8,7 +8,7 @@ module OpenFoodNetwork
|
||||
user.spree_roles << Spree::Role.find_or_create_by_name!("admin")
|
||||
user
|
||||
end
|
||||
subject { CustomersReport.new user }
|
||||
subject { CustomersReport.new user, {}, true }
|
||||
|
||||
describe "mailing list report" do
|
||||
before do
|
||||
@@ -81,7 +81,7 @@ module OpenFoodNetwork
|
||||
user
|
||||
end
|
||||
|
||||
subject { CustomersReport.new user }
|
||||
subject { CustomersReport.new user, {}, true }
|
||||
|
||||
describe "fetching orders" do
|
||||
let(:supplier) { create(:supplier_enterprise) }
|
||||
|
||||
Reference in New Issue
Block a user