Basic listing of orders on BOM page

This commit is contained in:
Rob H
2014-01-17 14:56:26 +08:00
parent 5aa032b54c
commit 00dfa62f43
3 changed files with 33 additions and 1 deletions

View File

@@ -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

View File

@@ -1,4 +1,16 @@
- content_for :page_title do
= "Bulk Order Management"
= render :partial => 'spree/admin/shared/order_sub_menu'
= 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 }}

View File

@@ -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