From a467d3c379f3b2f60b982fae662f05ee1df0cfcb Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Fri, 15 May 2015 16:20:56 +1000 Subject: [PATCH] Add filtering to xero invoices report - order date range, hub and order cycle --- .../spree/admin/reports_controller_decorator.rb | 7 +++++++ .../spree/admin/reports/xero_invoices.html.haml | 13 ++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/controllers/spree/admin/reports_controller_decorator.rb b/app/controllers/spree/admin/reports_controller_decorator.rb index df86d224fd..9633b6cd68 100644 --- a/app/controllers/spree/admin/reports_controller_decorator.rb +++ b/app/controllers/spree/admin/reports_controller_decorator.rb @@ -681,6 +681,13 @@ Spree::Admin::ReportsController.class_eval do end def xero_invoices + if request.get? + params[:q] ||= {} + params[:q][:completed_at_gt] = Time.zone.now.beginning_of_month + end + @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') + @search = Spree::Order.complete.managed_by(spree_current_user).order('id DESC').search(params[:q]) orders = @search.result @report = OpenFoodNetwork::XeroInvoicesReport.new orders, params diff --git a/app/views/spree/admin/reports/xero_invoices.html.haml b/app/views/spree/admin/reports/xero_invoices.html.haml index 9433ee91bb..1ae4e3b279 100644 --- a/app/views/spree/admin/reports/xero_invoices.html.haml +++ b/app/views/spree/admin/reports/xero_invoices.html.haml @@ -1,4 +1,15 @@ -= form_tag spree.xero_invoices_admin_reports_path do += form_for @search, url: spree.xero_invoices_admin_reports_path do |f| + = render 'date_range_form', f: f + + .row + .four.columns.alpha= label_tag nil, "Hub: " + .four.columns.omega= f.collection_select(:distributor_id_eq, @distributors, :id, :name, {:include_blank => 'All'}, {:class => "select2 fullwidth"}) + .row + .four.columns.alpha= label_tag nil, "Order Cycle: " + .four.columns.omega= f.select(:order_cycle_id_eq, + options_for_select(report_order_cycle_options(@order_cycles), params[:q][:order_cycle_id_eq]), + {:include_blank => true}, {:class => "select2 fullwidth"}) + .row .four.columns.alpha= label_tag :initial_invoice_number, "Initial invoice number:" .twelve.columns.omega= text_field_tag :initial_invoice_number, params[:initial_invoice_number]