Compile Packing report data only on search

This commit is contained in:
Maikel Linke
2018-05-03 16:53:31 +10:00
parent 1e80487afc
commit 7a546087b2
3 changed files with 8 additions and 5 deletions

View File

@@ -107,7 +107,7 @@ Spree::Admin::ReportsController.class_eval do
@report_type = params[:report_type]
# -- Build Report with Order Grouper
@report = OpenFoodNetwork::PackingReport.new spree_current_user, params
@report = OpenFoodNetwork::PackingReport.new spree_current_user, params, render_content?
order_grouper = OpenFoodNetwork::OrderGrouper.new @report.rules, @report.columns
@table = order_grouper.table(@report.table_items)

View File

@@ -1,9 +1,10 @@
module OpenFoodNetwork
class PackingReport
attr_reader :params
def initialize(user, params = {})
def initialize(user, params = {}, render_table = false)
@params = params
@user = user
@render_table = render_table
end
def header
@@ -39,6 +40,8 @@ module OpenFoodNetwork
end
def table_items
return [] unless @render_table
orders = search.result
line_items = permissions.visible_line_items.merge(Spree::LineItem.where(order_id: orders))

View File

@@ -14,7 +14,7 @@ module OpenFoodNetwork
context "as a site admin" do
let(:user) { create(:admin_user) }
subject { PackingReport.new user }
subject { PackingReport.new user, {}, true }
it "fetches completed orders" do
o2 = create(:order)
@@ -31,7 +31,7 @@ module OpenFoodNetwork
context "as a manager of a supplier" do
let!(:user) { create(:user) }
subject { PackingReport.new user }
subject { PackingReport.new user, {}, true }
let(:s1) { create(:supplier_enterprise) }
@@ -70,7 +70,7 @@ module OpenFoodNetwork
context "as a manager of a distributor" do
let!(:user) { create(:user) }
subject { PackingReport.new user }
subject { PackingReport.new user, {}, true }
before do
d1.enterprise_roles.create!(user: user)