diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml index e8dc590f17..1a0ec4404f 100644 --- a/.rubocop_manual_todo.yml +++ b/.rubocop_manual_todo.yml @@ -45,7 +45,6 @@ Metrics/LineLength: - app/controllers/spree/admin/base_controller_decorator.rb - app/controllers/spree/admin/orders_controller_decorator.rb - app/controllers/spree/admin/payments_controller_decorator.rb - - app/controllers/spree/admin/reports_controller_decorator.rb - app/controllers/spree/credit_cards_controller.rb - app/controllers/spree/paypal_controller_decorator.rb - app/controllers/stripe/callbacks_controller.rb @@ -121,7 +120,6 @@ Metrics/LineLength: - lib/open_food_network/order_cycle_management_report.rb - lib/open_food_network/payments_report.rb - lib/open_food_network/reports/bulk_coop_allocation_report.rb - - lib/open_food_network/reports/line_items.rb - lib/open_food_network/sales_tax_report.rb - lib/open_food_network/variant_and_line_item_naming.rb - lib/open_food_network/xero_invoices_report.rb diff --git a/app/controllers/spree/admin/reports_controller_decorator.rb b/app/controllers/spree/admin/reports_controller_decorator.rb index cf0970e45c..848fb8ec0d 100644 --- a/app/controllers/spree/admin/reports_controller_decorator.rb +++ b/app/controllers/spree/admin/reports_controller_decorator.rb @@ -23,7 +23,8 @@ Spree::Admin::ReportsController.class_eval do before_filter :cache_search_state # Fetches user's distributors, suppliers and order_cycles - before_filter :load_data, only: [:customers, :products_and_inventory, :order_cycle_management, :packing] + before_filter :load_data, + only: [:customers, :products_and_inventory, :order_cycle_management, :packing] def report_types OpenFoodNetwork::Reports::List.all @@ -49,7 +50,9 @@ Spree::Admin::ReportsController.class_eval do @report_type = params[:report_type] # -- Build Report with Order Grouper - @report = OpenFoodNetwork::OrderCycleManagementReport.new spree_current_user, params, render_content? + @report = OpenFoodNetwork::OrderCycleManagementReport.new spree_current_user, + params, + render_content? @table = @report.table_items render_report(@report.header, @table, params[:csv], "order_cycle_management_#{timestamp}.csv") @@ -69,7 +72,9 @@ Spree::Admin::ReportsController.class_eval do end def orders_and_distributors - @report = OpenFoodNetwork::OrderAndDistributorReport.new spree_current_user, params, render_content? + @report = OpenFoodNetwork::OrderAndDistributorReport.new spree_current_user, + params, + render_content? @search = @report.search csv_file_name = "orders_and_distributors_#{timestamp}.csv" render_report(@report.header, @report.table, params[:csv], csv_file_name) @@ -126,7 +131,9 @@ Spree::Admin::ReportsController.class_eval do @include_blank = I18n.t(:all) # -- Build Report with Order Grouper - @report = OpenFoodNetwork::OrdersAndFulfillmentsReport.new(spree_current_user, params, render_content?) + @report = OpenFoodNetwork::OrdersAndFulfillmentsReport.new spree_current_user, + params, + render_content? @table = order_grouper_table csv_file_name = "#{params[:report_type]}_#{timestamp}.csv" @@ -136,16 +143,24 @@ Spree::Admin::ReportsController.class_eval do def products_and_inventory @report_types = report_types[:products_and_inventory] @report = if params[:report_type] != 'lettuce_share' - OpenFoodNetwork::ProductsAndInventoryReport.new spree_current_user, params, render_content? + OpenFoodNetwork::ProductsAndInventoryReport.new spree_current_user, + params, + render_content? else OpenFoodNetwork::LettuceShareReport.new spree_current_user, params, render_content? end - render_report(@report.header, @report.table, params[:csv], "products_and_inventory_#{timestamp}.csv") + render_report(@report.header, + @report.table, + params[:csv], + "products_and_inventory_#{timestamp}.csv") end def users_and_enterprises @report = OpenFoodNetwork::UsersAndEnterprisesReport.new params, render_content? - render_report(@report.header, @report.table, params[:csv], "users_and_enterprises_#{timestamp}.csv") + render_report(@report.header, + @report.table, + params[:csv], + "users_and_enterprises_#{timestamp}.csv") end def xero_invoices diff --git a/lib/open_food_network/reports/line_items.rb b/lib/open_food_network/reports/line_items.rb index a8209056b5..30e86f21e2 100644 --- a/lib/open_food_network/reports/line_items.rb +++ b/lib/open_food_network/reports/line_items.rb @@ -9,8 +9,13 @@ module OpenFoodNetwork def self.list(order_permissions, params) orders = search_orders(order_permissions, params).result - line_items = order_permissions.visible_line_items.merge(Spree::LineItem.where(order_id: orders)) - line_items = line_items.supplied_by_any(params[:supplier_id_in]) if params[:supplier_id_in].present? + line_items = order_permissions. + visible_line_items. + merge(Spree::LineItem.where(order_id: orders)) + + if params[:supplier_id_in].present? + line_items = line_items.supplied_by_any(params[:supplier_id_in]) + end if params[:line_item_includes].present? line_items = line_items.includes(*params[:line_item_includes]) @@ -23,8 +28,14 @@ module OpenFoodNetwork }.each do |line_item| # TODO We should really be hiding customer code here too, but until we # have an actual association between order and customer, it's a bit tricky - line_item.order.bill_address.andand.assign_attributes(firstname: I18n.t('admin.reports.hidden'), lastname: "", phone: "", address1: "", address2: "", city: "", zipcode: "", state: nil) - line_item.order.ship_address.andand.assign_attributes(firstname: I18n.t('admin.reports.hidden'), lastname: "", phone: "", address1: "", address2: "", city: "", zipcode: "", state: nil) + line_item.order.bill_address.andand. + assign_attributes(firstname: I18n.t('admin.reports.hidden'), + lastname: "", phone: "", address1: "", address2: "", + city: "", zipcode: "", state: nil) + line_item.order.ship_address.andand. + assign_attributes(firstname: I18n.t('admin.reports.hidden'), + lastname: "", phone: "", address1: "", address2: "", + city: "", zipcode: "", state: nil) line_item.order.assign_attributes(email: I18n.t('admin.reports.hidden')) end line_items