diff --git a/app/overrides/add_orders_admin_sub_menu.rb b/app/overrides/add_orders_admin_sub_menu.rb new file mode 100644 index 0000000000..4c5c327657 --- /dev/null +++ b/app/overrides/add_orders_admin_sub_menu.rb @@ -0,0 +1,4 @@ +Deface::Override.new(:virtual_path => "spree/admin/orders/index", + :name => "add_orders_admin_sub_menu", + :insert_before => "code[erb-silent]:contains('content_for :table_filter_title do')", + :text => "<%= render :partial => 'spree/admin/shared/order_sub_menu' %>") \ No newline at end of file diff --git a/app/views/spree/admin/orders/bulk_management.html.haml b/app/views/spree/admin/orders/bulk_management.html.haml new file mode 100644 index 0000000000..53c62de403 --- /dev/null +++ b/app/views/spree/admin/orders/bulk_management.html.haml @@ -0,0 +1,4 @@ +- content_for :page_title do + = "Bulk Order Management" + += render :partial => 'spree/admin/shared/order_sub_menu' \ No newline at end of file diff --git a/app/views/spree/admin/shared/_order_sub_menu.html.erb b/app/views/spree/admin/shared/_order_sub_menu.html.erb new file mode 100644 index 0000000000..63ec0d3292 --- /dev/null +++ b/app/views/spree/admin/shared/_order_sub_menu.html.erb @@ -0,0 +1,6 @@ +<% content_for :sub_menu do %> + +<% end %> \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 6e05b80384..371620f0ec 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -65,6 +65,7 @@ Spree::Core::Engine.routes.prepend do match '/admin/reports/payments' => 'admin/reports#payments', :as => "payments_admin_reports", :via => [:get, :post] match '/admin/reports/orders_and_fulfillment' => 'admin/reports#orders_and_fulfillment', :as => "orders_and_fulfillment_admin_reports", :via => [:get, :post] match '/admin/products/bulk_edit' => 'admin/products#bulk_edit', :as => "bulk_edit_admin_products" + match '/admin/orders/bulk_management' => 'admin/orders#bulk_management', :as => "admin_bulk_order_management" match '/admin/reports/products_and_inventory' => 'admin/reports#products_and_inventory', :as => "products_and_inventory_admin_reports", :via => [:get, :post] match '/admin/reports/customers' => 'admin/reports#customers', :as => "customers_admin_reports", :via => [:get, :post] diff --git a/spec/features/admin/bulk_order_management_spec.rb b/spec/features/admin/bulk_order_management_spec.rb new file mode 100644 index 0000000000..d5eb6da24f --- /dev/null +++ b/spec/features/admin/bulk_order_management_spec.rb @@ -0,0 +1,32 @@ +require 'spec_helper' + +feature %q{ + As an Administrator + I want to be able to manage orders in bulk +} , js: true do + include AuthenticationWorkflow + include WebHelper + + before :all do + @default_wait_time = Capybara.default_wait_time + Capybara.default_wait_time = 5 + end + + after :all do + Capybara.default_wait_time = @default_wait_time + end + + describe "listing orders" do + before :each do + login_to_admin_section + end + + it "displays a Bulk Management Tab under the Orders item" do + visit '/admin/orders' + + page.should have_link "Bulk Order Management" + click_link "Bulk Order Management" + page.should have_selector "h1.page-title", text: "Bulk Order Management" + end + end +end \ No newline at end of file