Class: Spree::Admin::OrdersController

Inherits:
ResourceController show all
Includes:
OrderBreadcrumbConcern, OrderConcern, OrdersFiltersHelper, TableConcern
Defined in:
app/controllers/spree/admin/orders_controller.rb

Instance Method Summary collapse

Methods included from TableConcern

#apply_table_sort, #custom_sort_active?, #process_table_query_state, #table, #table_key, #table_registered?

Methods included from OrdersFiltersHelper

#load_user, #search_params

Methods inherited from ResourceController

belongs_to, #update

Methods included from BreadcrumbConcern

#add_breadcrumb_icon_instance_var

Instance Method Details

#cancelObject

PUT /admin/orders/:id/cancel



49
50
51
52
53
54
55
56
57
# File 'app/controllers/spree/admin/orders_controller.rb', line 49

def cancel
  result = @order.canceled_by(try_spree_current_user)
  if result.success?
    flash[:success] = Spree.t(:order_canceled)
  else
    flash[:error] = result.error.to_s
  end
  redirect_back fallback_location: spree.edit_admin_order_url(@order)
end

#createObject

POST /admin/orders



20
21
22
23
24
25
26
27
28
29
# File 'app/controllers/spree/admin/orders_controller.rb', line 20

def create
  @order = current_store.orders.new(permitted_resource_params)
  @order.created_by = try_spree_current_user
  if @order.save
    flash[:success] = flash_message_for(@order, :successfully_created)
    redirect_to spree.edit_admin_order_path(@order)
  else
    render :new, status: :unprocessable_content
  end
end

#destroyObject

DELETE /admin/orders/:id



72
73
74
75
76
77
78
79
80
81
# File 'app/controllers/spree/admin/orders_controller.rb', line 72

def destroy
  @order.destroy
  flash[:success] = flash_message_for(@order, :successfully_removed)

  if @order.completed?
    redirect_to spree.admin_orders_path
  else
    redirect_to spree.admin_checkouts_path
  end
end

#editObject

GET /admin/orders/:id/edit



41
42
43
# File 'app/controllers/spree/admin/orders_controller.rb', line 41

def edit
  redirect_to spree.admin_order_path(@order)
end

#indexObject

GET /admin/orders



46
# File 'app/controllers/spree/admin/orders_controller.rb', line 46

def index; end

#newObject

GET /admin/orders/new



15
16
17
# File 'app/controllers/spree/admin/orders_controller.rb', line 15

def new
  @order = current_store.orders.new
end

#resendObject

POST /admin/orders/:id/resend



60
61
62
63
64
65
66
67
68
69
# File 'app/controllers/spree/admin/orders_controller.rb', line 60

def resend
  if @order.completed?
    Spree::Events.publish('order.resend_confirmation_email', { 'id' => @order.id })
    flash[:success] = Spree.t(:order_email_resent)
  else
    flash[:error] = Spree.t(:order_email_resent_error)
  end

  redirect_back fallback_location: spree.edit_admin_order_url(@order)
end

#showObject

GET /admin/orders/:id



32
33
34
35
36
37
38
# File 'app/controllers/spree/admin/orders_controller.rb', line 32

def show
  unless @order.completed?
    add_breadcrumb Spree.t(:draft_orders), :admin_checkouts_path
  end

  add_breadcrumb @order.number, spree.admin_order_path(@order)
end