diff --git a/app/controllers/checkout_controller.rb b/app/controllers/checkout_controller.rb index 8de59d36f6..cfb8b33f45 100644 --- a/app/controllers/checkout_controller.rb +++ b/app/controllers/checkout_controller.rb @@ -26,15 +26,15 @@ class CheckoutController < Spree::CheckoutController return if redirect_to_paypal_express_form_if_needed end - unless advance_order_state(@order) - if @order.errors.present? - flash[:error] = @order.errors.full_messages.to_sentence - else - flash[:error] = t(:payment_processing_failed) - end - update_failed - return + next if advance_order_state(@order) + + if @order.errors.present? + flash[:error] = @order.errors.full_messages.to_sentence + else + flash[:error] = t(:payment_processing_failed) end + update_failed + return end if @order.state == "complete" || @order.completed? set_default_bill_address diff --git a/app/controllers/spree/admin/payments_controller_decorator.rb b/app/controllers/spree/admin/payments_controller_decorator.rb index c608f8930c..cbcecd852f 100644 --- a/app/controllers/spree/admin/payments_controller_decorator.rb +++ b/app/controllers/spree/admin/payments_controller_decorator.rb @@ -5,7 +5,7 @@ Spree::Admin::PaymentsController.class_eval do # When a user fires an event, take them back to where they came from # (we can't use respond_override because Spree no longer uses respond_with) def fire - return unless event = params[:e] and @payment.payment_source + return unless event = params[:e] && @payment.payment_source # Because we have a transition method also called void, we do this to avoid conflicts. event = "void_transaction" if event == "void" @@ -15,7 +15,7 @@ Spree::Admin::PaymentsController.class_eval do flash[:error] = t(:cannot_perform_operation) end rescue Spree::Core::GatewayError => ge - flash[:error] = "#{ge.message}" + flash[:error] = ge.message ensure redirect_to request.referer end