Sha256: 2e39df0d2a87e80fea8dd37df4282a6cb6455f8499087beb0c53333b780a31d1
Contents?: true
Size: 1.82 KB
Versions: 6
Compression:
Stored size: 1.82 KB
Contents
module Spree module Admin module Orders class CustomerDetailsController < Spree::Admin::BaseController before_action :load_order def show edit end def edit country_id = Country.default.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? @order.bill_address.country_id = country_id if @order.bill_address.country.nil? @order.ship_address.country_id = country_id if @order.ship_address.country.nil? end def update if @order.contents.update_cart(order_params) if should_associate_user? requested_user = Spree.user_class.find(params[:user_id]) @order.associate_user!(requested_user, @order.email.blank?) end unless @order.completed? @order.next @order.refresh_shipment_rates end flash[:success] = Spree.t('customer_details_updated') redirect_to edit_admin_order_url(@order) else render action: :edit end end private def order_params params.require(:order).permit( :email, :use_billing, bill_address_attributes: permitted_address_attributes, ship_address_attributes: permitted_address_attributes ) end def load_order @order = Order.includes(:adjustments).find_by_number!(params[:order_id]) end def model_class Spree::Order end def should_associate_user? params[:guest_checkout] == "false" && params[:user_id] && params[:user_id].to_i != @order.user_id end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems