##// END OF EJS Templates
Do not mass create API keys for existing users....
Do not mass create API keys for existing users. They will be created on the fly if needed, just like for new users. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3221 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r2678:6da0542af48b
r3107:edab0f0cbb85
Show More
token.rb
51 lines | 1.5 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Delete previous tokens when creating a new one....
r2678 # Redmine - project management software
# Copyright (C) 2006-2009 Jean-Philippe Lang
Jean-Philippe Lang
0.3 unstable...
r10 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class Token < ActiveRecord::Base
belongs_to :user
Jean-Philippe Lang
Add token value uniqueness validation (#3351)....
r2642 validates_uniqueness_of :value
Jean-Philippe Lang
0.3 unstable...
r10
Jean-Philippe Lang
Delete previous tokens when creating a new one....
r2678 before_create :delete_previous_tokens
Jean-Philippe Lang
0.3 unstable...
r10 @@validity_time = 1.day
def before_create
self.value = Token.generate_token_value
end
# Return true if token has expired
def expired?
return Time.now > self.created_on + @@validity_time
end
# Delete all expired tokens
def self.destroy_expired
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 Token.delete_all ["action <> 'feeds' AND created_on < ?", Time.now - @@validity_time]
Jean-Philippe Lang
0.3 unstable...
r10 end
private
def self.generate_token_value
Jean-Philippe Lang
Use ActiveSupport::SecureRandom to generate tokens (#3351)....
r2641 ActiveSupport::SecureRandom.hex(20)
Jean-Philippe Lang
0.3 unstable...
r10 end
Jean-Philippe Lang
Delete previous tokens when creating a new one....
r2678
# Removes obsolete tokens (same user and action)
def delete_previous_tokens
if user
Token.delete_all(['user_id = ? AND action = ?', user.id, action])
end
end
Jean-Philippe Lang
0.3 unstable...
r10 end