Class: SolidusPaypalCommercePlatform::ShippingRatesController

Inherits:
Spree::Api::BaseController
  • Object
show all
Defined in:
lib/generators/solidus_paypal_commerce_platform/install/templates/app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb

Instance Method Summary collapse

Instance Method Details

#simulate_shipping_ratesObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/generators/solidus_paypal_commerce_platform/install/templates/app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb', line 8

def simulate_shipping_rates
  authorize! :show, @order, order_token

  @order.transaction do
    SolidusPaypalCommercePlatform::PaypalAddress.new(@order).simulate_update(params[:address])
    @errors = @order.ship_address.errors.dup
    @paypal_order = SolidusPaypalCommercePlatform::PaypalOrder.new(@order).to_replace_json
    raise ActiveRecord::Rollback
  end

  if @errors.none?
    render json: @paypal_order, status: :ok
  else
    render json: @errors.full_messages, status: :unprocessable_entity
  end
end