Sha256: 1a2320eff310f7edfefe1ef664a8341025f396fac63aeca11d5450487d3f5307
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
class Store::CheckoutsController < Store::StoreController layout "storefront" def create unless current_cart.unfinished? render :json => "This order is already finished!", :status => :unprocessable_entity and return end @payment = CreditCardPayment.new(params[:payment]) @payment.user_agreement = params[:payment][:user_agreement] current_cart.special_instructions = special_instructions @checkout = Checkout.new(current_cart, @payment) if @checkout.valid? && @checkout.finish @order = @checkout.order render :thanks and return else flash[:error] = @checkout.message redirect_to store_order_path(params[:payment][:customer]) end rescue Exception => e Exceptional.context(:params => filter(params)) Exceptional.handle(e, "Checkout failed!") Rails.logger.error(e.backtrace) Rails.logger.error(e.message) flash[:error] = "We're sorry but we could not process the sale. Please make sure all fields are filled out accurately" redirect_to store_order_path end # def dook # @order = Order.find(157) # render :thanks # end def filter(params) filters = Rails.application.config.filter_parameters f = ActionDispatch::Http::ParameterFilter.new filters f.filter params end private def special_instructions instructions = [] params.fetch(:special_instructions, []).each do |event_id, response| instructions << response end instructions.join(" ") end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
artfully_ose-1.2.0.pre.16 | app/controllers/store/checkouts_controller.rb |