From 64c2bdda1cd3b51753a02ac7681941579f91e45f Mon Sep 17 00:00:00 2001 From: Hugo Daniel Date: Tue, 6 Feb 2018 12:22:46 +0100 Subject: [PATCH] Added loading of all active or complete order cycles concerned by the current user to the reports form collection User will see all order cycles he is concerned by as producer, distributor or coordinator --- .../spree/admin/reports_controller_decorator.rb | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/controllers/spree/admin/reports_controller_decorator.rb b/app/controllers/spree/admin/reports_controller_decorator.rb index 10cc9d48f8..0aec336b9c 100644 --- a/app/controllers/spree/admin/reports_controller_decorator.rb +++ b/app/controllers/spree/admin/reports_controller_decorator.rb @@ -208,8 +208,7 @@ Spree::Admin::ReportsController.class_eval do # My suppliers and any suppliers supplying products I distribute @suppliers = permissions.visible_enterprises_for_order_reports.is_primary_producer - @order_cycles = OrderCycle.active_or_complete. - involving_managed_distributors_of(spree_current_user).order('orders_close_at DESC') + @order_cycles = load_order_cycles @report_types = report_types[:orders_and_fulfillment] @report_type = params[:report_type] @@ -332,4 +331,17 @@ Spree::Admin::ReportsController.class_eval do def timestamp Time.zone.now.strftime("%Y%m%d") end + + # Loads all order cycles concerned by current user, may he be producer, distributor or coordinator + def load_order_cycles + @order_cycles = OrderCycle.active_or_complete.involving_managed_distributors_of(spree_current_user) + + # Avoids duplicates + OrderCycle.active_or_complete.involving_managed_producers_of(spree_current_user).each do |order_cycle| + @order_cycles << order_cycle unless @order_cycles.include?(order_cycle) + end + + @order_cycles.sort_by! {|order_cycle| order_cycle.orders_close_at} + return @order_cycles + end end