Call reset order callback when order completed via paypal

This commit is contained in:
Rohan Mitchell
2014-07-25 12:41:59 +10:00
parent 50f74038b2
commit fd3040d394
3 changed files with 30 additions and 18 deletions

View File

@@ -1,8 +1,6 @@
Spree::CheckoutController.class_eval do
#def update
#binding.pry
#end
include CheckoutHelper
private
@@ -24,21 +22,7 @@ Spree::CheckoutController.class_eval do
end
def after_complete
distributor = current_order.distributor
token = current_order.token
session[:order_id] = nil
clear_current_order_cache
current_order(true)
current_order.set_distributor!(distributor)
current_order.tokenized_permission.token = token
current_order.tokenized_permission.save!
session[:access_token] = token
end
def clear_current_order_cache
@current_order = nil
reset_order
end
def find_last_used_addresses(email)

View File

@@ -1,6 +1,20 @@
Spree::PaypalController.class_eval do
include CheckoutHelper
after_filter :reset_order_when_complete, only: :confirm
def cancel
flash[:notice] = t('flash.cancel', :scope => 'paypal')
redirect_to main_app.checkout_path
end
private
def reset_order_when_complete
if current_order.complete?
flash[:success] = t(:order_processed_successfully)
reset_order
end
end
end

View File

@@ -25,4 +25,18 @@ module CheckoutHelper
render partial: "shared/validated_input", locals: {name: name, path: path, attributes: attributes}
end
def reset_order
distributor = current_order.distributor
token = current_order.token
session[:order_id] = nil
@current_order = nil
current_order(true)
current_order.set_distributor!(distributor)
current_order.tokenized_permission.token = token
current_order.tokenized_permission.save!
session[:access_token] = token
end
end