Sha256: e843642dfd73384af52ef0541b4861cca1552480022513d86cead81e04b9ba1f
Contents?: true
Size: 1.57 KB
Versions: 36
Compression:
Stored size: 1.57 KB
Contents
module Workarea module Storefront module Checkout class AddressesController < CheckoutsController after_action :validate_shipping_options, only: :update_addresses # GET /checkout/addresses def addresses @step ||= Storefront::Checkout::AddressesViewModel.new( addresses_step, view_model_options ) end # PATCH /checkout/addresses def update_addresses addresses_step.update(params) if addresses_step.complete? completed_addresses_step else incomplete_addresses_step end end private def addresses_step @addresses_step ||= Workarea::Checkout::Steps::Addresses.new(current_checkout) end def completed_addresses_step flash[:success] = t('workarea.storefront.flash_messages.addresses_saved') if current_order.requires_shipping? redirect_to checkout_shipping_path else Workarea::Checkout::Steps::Shipping.new(current_checkout).update redirect_to checkout_payment_path end end def incomplete_addresses_step addresses render :addresses end def validate_shipping_options available_options = Workarea::Storefront::CartViewModel.new(current_order).shipping_options if available_options.empty? flash[:error] = t('workarea.storefront.flash_messages.no_available_shipping_options') end end end end end end
Version data entries
36 entries across 36 versions & 1 rubygems