summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-08-19 04:30:03 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-08-19 04:30:03 +0000
commit8dde6e019d041a79d7adc4e2b3c019b856085a0c (patch)
treef2f41d55c224d17d604652d426b38a4734b0d3cf /app
parentae3d542664147df35742c9255f3c6f968522baec (diff)
downloadredmine-8dde6e019d041a79d7adc4e2b3c019b856085a0c.tar.gz
redmine-8dde6e019d041a79d7adc4e2b3c019b856085a0c.zip
Merged r3906 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.0-stable@3956 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/controllers/account_controller.rb12
-rw-r--r--app/models/user.rb24
2 files changed, 30 insertions, 6 deletions
diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb
index b0a5b42a7..5fa56b167 100644
--- a/app/controllers/account_controller.rb
+++ b/app/controllers/account_controller.rb
@@ -83,9 +83,9 @@ class AccountController < ApplicationController
else
@user = User.new(params[:user])
@user.admin = false
- @user.status = User::STATUS_REGISTERED
+ @user.register
if session[:auth_source_registration]
- @user.status = User::STATUS_ACTIVE
+ @user.activate
@user.login = session[:auth_source_registration][:login]
@user.auth_source_id = session[:auth_source_registration][:auth_source_id]
if @user.save
@@ -116,8 +116,8 @@ class AccountController < ApplicationController
token = Token.find_by_action_and_value('register', params[:token])
redirect_to(home_url) && return unless token and !token.expired?
user = token.user
- redirect_to(home_url) && return unless user.status == User::STATUS_REGISTERED
- user.status = User::STATUS_ACTIVE
+ redirect_to(home_url) && return unless user.registered?
+ user.activate
if user.save
token.destroy
flash[:notice] = l(:notice_account_activated)
@@ -170,7 +170,7 @@ class AccountController < ApplicationController
user.mail = registration['email'] unless registration['email'].nil?
user.firstname, user.lastname = registration['fullname'].split(' ') unless registration['fullname'].nil?
user.random_password
- user.status = User::STATUS_REGISTERED
+ user.register
case Setting.self_registration
when '1'
@@ -241,7 +241,7 @@ class AccountController < ApplicationController
# Pass a block for behavior when a user fails to save
def register_automatically(user, &block)
# Automatic activation
- user.status = User::STATUS_ACTIVE
+ user.activate
user.last_login_on = Time.now
if user.save
self.logged_user = user
diff --git a/app/models/user.rb b/app/models/user.rb
index db18db49e..c5c638f93 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -164,6 +164,30 @@ class User < Principal
self.status == STATUS_LOCKED
end
+ def activate
+ self.status = STATUS_ACTIVE
+ end
+
+ def register
+ self.status = STATUS_REGISTERED
+ end
+
+ def lock
+ self.status = STATUS_LOCKED
+ end
+
+ def activate!
+ update_attribute(:status, STATUS_ACTIVE)
+ end
+
+ def register!
+ update_attribute(:status, STATUS_REGISTERED)
+ end
+
+ def lock!
+ update_attribute(:status, STATUS_LOCKED)
+ end
+
def check_password?(clear_password)
if auth_source_id.present?
auth_source.authenticate(self.login, clear_password)