Sha256: ba0f3324dd2995977e5c53e2d6acc019bd561351c64a057ed18d39b09594e493

Contents?: true

Size: 863 Bytes

Versions: 3

Compression:

Stored size: 863 Bytes

Contents

require 'stripe'

module Locomotive
  module Ecommerce
    class PurchaseController < ::Locomotive::Ecommerce::ApplicationController
      before_filter :do_authorize, except: [:do_new_purchase]

      def create
        @purchase = current_user_cart(self).purchase
        @purchase.shipping_info = params[:shipping_info]
        @purchase.shipping_method = params[:shipping_method]
        if @purchase.save
          redirect_to confirm_order_path
          return
        elsif @purchase.errors.any?
          flash_ar = []
          @purchase.errors.full_messages.each { |msg| flash_ar << msg }
          flash[:error] = flash_ar.join(', ')
        end

        redirect_to checkout_path
      end

      private

      def do_authorize
        if Engine.config_or_default('require_user')
          authenticate_user!
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
locomotive_ecommerce_plugin-1.0.6 app/controllers/locomotive/ecommerce/purchase_controller.rb
locomotive_ecommerce_plugin-1.0.5 app/controllers/locomotive/ecommerce/purchase_controller.rb
locomotive_ecommerce_plugin-1.0.4 app/controllers/locomotive/ecommerce/purchase_controller.rb