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
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)
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'
# 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
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)