From d4b84e55c2da370a92720df29c045036e09d9745 Mon Sep 17 00:00:00 2001 From: Keir Osborn Date: Fri, 9 Mar 2018 12:15:14 +0000 Subject: [PATCH] order order cycle list from most lates close date to earliest on /orders page #1884 --- ...r_and_order_cycle_filter_inputs.html.haml.deface | 2 +- spec/features/admin/orders_spec.rb | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/overrides/spree/admin/orders/index/add_distributor_and_order_cycle_filter_inputs.html.haml.deface b/app/overrides/spree/admin/orders/index/add_distributor_and_order_cycle_filter_inputs.html.haml.deface index aef08e609e..7068d94d2d 100644 --- a/app/overrides/spree/admin/orders/index/add_distributor_and_order_cycle_filter_inputs.html.haml.deface +++ b/app/overrides/spree/admin/orders/index/add_distributor_and_order_cycle_filter_inputs.html.haml.deface @@ -9,5 +9,5 @@ .field-block.alpha.eight.columns = label_tag nil, t(:order_cycles) = select_tag("q[order_cycle_id_in]", - options_for_select(OrderCycle.managed_by(spree_current_user).map {|oc| [oc.name, oc.id]}, params[:order_cycle_ids]), + options_for_select(OrderCycle.managed_by(spree_current_user).where('order_cycles.orders_close_at is not null').order('order_cycles.orders_close_at DESC').map {|oc| [oc.name, oc.id]}, params[:order_cycle_ids]), {class: "select2 fullwidth", multiple: true}) diff --git a/spec/features/admin/orders_spec.rb b/spec/features/admin/orders_spec.rb index e67cc9a513..866edeb1da 100644 --- a/spec/features/admin/orders_spec.rb +++ b/spec/features/admin/orders_spec.rb @@ -31,6 +31,19 @@ feature %q{ click_button 'Next' end + scenario "order cycles appear in descending order by close date on orders page" do + create(:simple_order_cycle, name: 'Two', orders_close_at: 2.weeks.from_now) + create(:simple_order_cycle, name: 'Four', orders_close_at: 4.weeks.from_now) + create(:simple_order_cycle, name: 'Three', orders_close_at: 3.weeks.from_now) + + login_to_admin_section + visit 'admin/orders' + + open_select2('#s2id_q_order_cycle_id_in') + + expect(find('#q_order_cycle_id_in', visible: :all)[:innerHTML]).to have_content(/.*Four.*Three.*Two.*One/m) + end + scenario "creating an order with distributor and order cycle" do distributor_disabled = create(:distributor_enterprise) create(:simple_order_cycle, name: 'Two')