From cd38de048701f8629e0cd50fc72ea8821039ca34 Mon Sep 17 00:00:00 2001 From: David Wilkie Date: Sun, 30 Jan 2011 02:34:34 +0700 Subject: [PATCH] Added more logic to the show method --- app/controllers/devise/paypal_authentications_controller.rb | 5 +++++ app/models/devise/paypal_authentication.rb | 3 ++- config/locales/en.yml | 5 ++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/controllers/devise/paypal_authentications_controller.rb b/app/controllers/devise/paypal_authentications_controller.rb index 0817362..10ddb24 100644 --- a/app/controllers/devise/paypal_authentications_controller.rb +++ b/app/controllers/devise/paypal_authentications_controller.rb @@ -22,6 +22,7 @@ def show if @paypal_authentication.token_param_valid? @paypal_authentication.get_authentication_details! else + @paypal_authentication.destroy url = new_paypal_authentication_path(resource_name) end else @@ -29,6 +30,10 @@ def show end end else + set_flash_message( + :error, + :something_went_wrong_when_contacting_paypal + ) if session[:paypal_authentication_id] url = new_paypal_authentication_path(resource_name) end redirect_to url if url diff --git a/app/models/devise/paypal_authentication.rb b/app/models/devise/paypal_authentication.rb index 09b7d24..a192a8c 100644 --- a/app/models/devise/paypal_authentication.rb +++ b/app/models/devise/paypal_authentication.rb @@ -5,7 +5,8 @@ class Devise::PaypalAuthentication < ActiveRecord::Base serialize :params validates :token, - :uniqueness => true + :uniqueness => true, + :allow_nil => true def get_authentication_token!(permissions = {}) self.update_attributes!( diff --git a/config/locales/en.yml b/config/locales/en.yml index 306be51..f5a48cb 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,6 +1,5 @@ en: devise: - paypal_authable: - success: "Successfully authorized from Paypal account." - failure: "Unable to authorize you from Paypal account." + paypal_authentications: + something_went_wrong_when_contacting_paypal: "Sorry something went wrong when contacting Paypal. Please try again in a few minutes."