Class: User

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/users/user.rb

Overview

Schema Information

Table name: users

id                  :integer         not null, primary key
username            :string(32)      default(""), not null
email               :string(64)      default(""), not null
first_name          :string(32)
last_name           :string(32)
title               :string(64)
company             :string(64)
alt_email           :string(64)
phone               :string(32)
mobile              :string(32)
aim                 :string(32)
yahoo               :string(32)
google              :string(32)
skype               :string(32)
password_hash       :string(255)     default(""), not null
password_salt       :string(255)     default(""), not null
persistence_token   :string(255)     default(""), not null
perishable_token    :string(255)     default(""), not null
last_request_at     :datetime
last_login_at       :datetime
current_login_at    :datetime
last_login_ip       :string(255)
current_login_ip    :string(255)
login_count         :integer         default(0), not null
deleted_at          :datetime
created_at          :datetime
updated_at          :datetime
admin               :boolean         default(FALSE), not null
suspended_at        :datetime
single_access_token :string(255)

Instance Method Summary collapse

Instance Method Details

#awaits_approval?Boolean


Returns:

  • (Boolean)


121
122
123
# File 'app/models/users/user.rb', line 121

def awaits_approval?
  self.suspended? && self. == 0 && Setting. == :needs_approval
end

#deliver_password_reset_instructions!Object




132
133
134
135
# File 'app/models/users/user.rb', line 132

def deliver_password_reset_instructions!
  reset_perishable_token!
  UserMailer.password_reset_instructions(self).deliver
end

#full_nameObject




111
112
113
# File 'app/models/users/user.rb', line 111

def full_name
  self.first_name.blank? && self.last_name.blank? ? self.email : "#{self.first_name} #{self.last_name}".strip
end

#nameObject




106
107
108
# File 'app/models/users/user.rb', line 106

def name
  self.first_name.blank? ? self.username : self.first_name
end

#preferenceObject Also known as: pref




126
127
128
# File 'app/models/users/user.rb', line 126

def preference
  @preference ||= Preference.new(:user => self)
end

#set_individual_localeObject

Override global I18n.locale if the user has individual local preference.




139
140
141
# File 'app/models/users/user.rb', line 139

def set_individual_locale
  I18n.locale = self.preference[:locale] if self.preference[:locale]
end

#set_single_access_tokenObject

Generate the value of single access token if it hasn’t been set already.




145
146
147
# File 'app/models/users/user.rb', line 145

def set_single_access_token
  self.single_access_token ||= update_attribute(:single_access_token, Authlogic::Random.friendly_token)
end

#suspended?Boolean


Returns:

  • (Boolean)


116
117
118
# File 'app/models/users/user.rb', line 116

def suspended?
  self.suspended_at != nil
end