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')