summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/user.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index 36594137d..8405fa4b6 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -687,10 +687,12 @@ class User < Principal
# was compromised.
def destroy_tokens
tokens = []
- tokens |= ['recovery', 'autologin'] if changes.has_key?('hashed_password')
- tokens |= ['recovery'] if changes.has_key?('mail')
+ tokens |= ['recovery', 'autologin'] if hashed_password_changed?
+ tokens |= ['recovery'] if mail_changed?
- Token.delete_all(['user_id = ? AND action IN (?)', self.id, tokens]) if tokens.any?
+ if tokens.any?
+ Token.where(:user_id => id, :action => tokens).delete_all
+ end
end
# Removes references that are not handled by associations