From 0310f43126ac8a8a7e14c8c3a09118b34ed6ff2f Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Wed, 11 Feb 2009 19:07:12 +0000 Subject: Hooked up on the fly OpenID user creation. * Use OpenID registration fields for the user. * Generate a random password when a user is created. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2443 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/user.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'app/models') diff --git a/app/models/user.rb b/app/models/user.rb index 0005c85d1..b35c1a815 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -138,6 +138,18 @@ class User < ActiveRecord::Base def check_password?(clear_password) User.hash_password(clear_password) == self.hashed_password end + + # Generate and set a random password. Useful for automated user creation + # Based on Token#generate_token_value + # + def random_password + chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a + password = '' + 40.times { |i| password << chars[rand(chars.size-1)] } + self.password = password + self.password_confirmation = password + self + end def pref self.preference ||= UserPreference.new(:user => self) -- cgit v1.2.3