diff --git a/app/controllers/spree/admin/orders_controller_decorator.rb b/app/controllers/spree/admin/orders_controller_decorator.rb index b82739bbdc..089614e7c9 100644 --- a/app/controllers/spree/admin/orders_controller_decorator.rb +++ b/app/controllers/spree/admin/orders_controller_decorator.rb @@ -1,4 +1,6 @@ Spree::Admin::OrdersController.class_eval do + before_filter :load_spree_api_key, :only => :bulk_management + respond_override :index => { :html => { :success => lambda { # Filter orders to only show those distributed by current user (or all for admin user) @@ -7,4 +9,12 @@ Spree::Admin::OrdersController.class_eval do page(params[:page]). per(params[:per_page] || Spree::Config[:orders_per_page]) } } } + + + private + + def load_spree_api_key + current_user.generate_spree_api_key! unless spree_current_user.spree_api_key + @spree_api_key = spree_current_user.spree_api_key + end end \ 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 index 53c62de403..0031cbffe9 100644 --- a/app/views/spree/admin/orders/bulk_management.html.haml +++ b/app/views/spree/admin/orders/bulk_management.html.haml @@ -1,4 +1,16 @@ - content_for :page_title do = "Bulk Order Management" -= render :partial => 'spree/admin/shared/order_sub_menu' \ No newline at end of file += render :partial => 'spree/admin/shared/order_sub_menu' + +%div{ 'ng-app' => 'ofn.bulk_order_management', 'ng-controller' => 'AdminOrderMgmtCtrl', 'ng-init' => "initialise('#{@spree_api_key}');" } + %div{ 'ng-show' => '!spree_api_key_ok' } + {{ api_error_msg }} + + %table.index#listing_orders.bulk + %thead + %tr + %th ID + %tbody{ 'ng-repeat' => 'order in orders', 'ng-class-even' => "'even'", 'ng-class-odd' => "'odd'" } + %tr.order + %td.id {{ order.id }} \ No newline at end of file diff --git a/spec/features/admin/bulk_order_management_spec.rb b/spec/features/admin/bulk_order_management_spec.rb index d5eb6da24f..906b597b0a 100644 --- a/spec/features/admin/bulk_order_management_spec.rb +++ b/spec/features/admin/bulk_order_management_spec.rb @@ -28,5 +28,15 @@ feature %q{ click_link "Bulk Order Management" page.should have_selector "h1.page-title", text: "Bulk Order Management" end + + it "displays a list of orders" do + o1 = FactoryGirl.create(:order, state: 'complete', completed_at: Time.now) + o2 = FactoryGirl.create(:order, state: 'complete', completed_at: Time.now) + + visit '/admin/orders/bulk_management' + + page.should have_selector "td", text: o1.id.to_s, :visible => true + page.should have_selector "td", text: o2.id.to_s, :visible => true + end end end \ No newline at end of file