Class: Spree::Admin::Orders::CustomerDetailsController

Inherits:
BaseController show all
Defined in:
app/controllers/spree/admin/orders/customer_details_controller.rb

Instance Method Summary collapse

Methods included from Core::ControllerHelpers::Common

included

Methods included from Core::ControllerHelpers::Auth

#current_ability, included, #redirect_back_or_default, #store_location, #try_spree_current_user, #unauthorized

Instance Method Details

#editObject



12
13
14
15
16
# File 'app/controllers/spree/admin/orders/customer_details_controller.rb', line 12

def edit
  country_id = Address.default.country.id
  @order.build_bill_address(:country_id => country_id) if @order.bill_address.nil?
  @order.build_ship_address(:country_id => country_id) if @order.ship_address.nil?
end

#showObject



7
8
9
10
# File 'app/controllers/spree/admin/orders/customer_details_controller.rb', line 7

def show
  edit
  render :action => :edit
end

#updateObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/controllers/spree/admin/orders/customer_details_controller.rb', line 18

def update
  if @order.update_attributes(params[:order])
    shipping_method = @order.available_shipping_methods(:front_end).first
    if shipping_method
      @order.shipping_method = shipping_method

      if params[:user_id].present?
        @order.user_id = params[:user_id]
        @order.user true
      end
      @order.save
      @order.create_shipment!
      flash[:success] = t('customer_details_updated')
      redirect_to edit_admin_order_shipment_path(@order, @order.shipment)
    else
      flash[:error] = t('errors.messages.no_shipping_methods_available')
      redirect_to admin_order_customer_path(@order)
    end
  else
    render :action => :edit
  end

end