From b8ca37e9d2740a015ecc89cd0e17387131db6d06 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 3 May 2018 14:45:53 +1000 Subject: [PATCH] Don't compile xero report data before search --- app/controllers/spree/admin/reports_controller_decorator.rb | 2 +- lib/open_food_network/xero_invoices_report.rb | 4 +++- spec/features/admin/reports_spec.rb | 1 + spec/lib/open_food_network/xero_invoices_report_spec.rb | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/controllers/spree/admin/reports_controller_decorator.rb b/app/controllers/spree/admin/reports_controller_decorator.rb index f5ab7ee597..2f534f044d 100644 --- a/app/controllers/spree/admin/reports_controller_decorator.rb +++ b/app/controllers/spree/admin/reports_controller_decorator.rb @@ -232,7 +232,7 @@ Spree::Admin::ReportsController.class_eval do @distributors = Enterprise.is_distributor.managed_by(spree_current_user) @order_cycles = OrderCycle.active_or_complete.accessible_by(spree_current_user).order('orders_close_at DESC') - @report = OpenFoodNetwork::XeroInvoicesReport.new spree_current_user, params + @report = OpenFoodNetwork::XeroInvoicesReport.new spree_current_user, params, render_content? render_report(@report.header, @report.table, params[:csv], "xero_invoices_#{timestamp}.csv") end diff --git a/lib/open_food_network/xero_invoices_report.rb b/lib/open_food_network/xero_invoices_report.rb index 43f278c73e..5e351871e8 100644 --- a/lib/open_food_network/xero_invoices_report.rb +++ b/lib/open_food_network/xero_invoices_report.rb @@ -1,6 +1,6 @@ module OpenFoodNetwork class XeroInvoicesReport - def initialize(user, opts={}) + def initialize(user, opts = {}, compile_table = false) @user = user @opts = opts. @@ -9,6 +9,7 @@ module OpenFoodNetwork invoice_date: Time.zone.today, due_date: Time.zone.today + 1.month, account_code: 'food sales'}) + @compile_table = compile_table end def header @@ -26,6 +27,7 @@ module OpenFoodNetwork end def table + return [] unless @compile_table rows = [] orders.each_with_index do |order, i| diff --git a/spec/features/admin/reports_spec.rb b/spec/features/admin/reports_spec.rb index 079c0c2b5e..202e0fc5a7 100644 --- a/spec/features/admin/reports_spec.rb +++ b/spec/features/admin/reports_spec.rb @@ -423,6 +423,7 @@ feature %q{ end it "shows Xero invoices report" do + click_button "Search" expect(xero_invoice_table).to match_table [ xero_invoice_header, xero_invoice_summary_row('Total untaxable produce (no tax)', 12.54, 'GST Free Income'), diff --git a/spec/lib/open_food_network/xero_invoices_report_spec.rb b/spec/lib/open_food_network/xero_invoices_report_spec.rb index af67f8bed9..f2dce1fb5a 100644 --- a/spec/lib/open_food_network/xero_invoices_report_spec.rb +++ b/spec/lib/open_food_network/xero_invoices_report_spec.rb @@ -2,7 +2,7 @@ require 'open_food_network/xero_invoices_report' module OpenFoodNetwork describe XeroInvoicesReport do - subject { XeroInvoicesReport.new user } + subject { XeroInvoicesReport.new user, {}, true } let(:user) { create(:user) }