class User < ActiveRecord::Base # Include default devise modules. Others available are: # :token_authenticatable, :confirmable, # :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable has_and_belongs_to_many :roles has_one :person attr_accessible :email, :password, :password_confirmation, :remember_me, :role_id, :role_ids, :person_attributes accepts_nested_attributes_for :person accepts_nested_attributes_for :roles before_save :setup_role before_create :create_person def role?(role) Rails.logger.debug("Checking role in user") return !!self.roles.find_by_name(role.to_s.camelize) end def get_roles return self.roles end def setup_role if self.role_ids.empty? self.role_ids = [1] end end def popup_details details = "Sign-in Count
" details += "#{self.sign_in_count}
" details += "Current Sign-in
" details += "#{self.current_sign_in_at}
" details += "Last Sign-in
" details += "#{self.last_sign_in_at}
" details += "Current Sign-in IP
" details += "#{self.current_sign_in_ip}
" details += "Last Sign-in IP
" details += "#{self.last_sign_in_ip}
" details += "Created at
" details += "#{self.created_at}
" end private def create_person # TODO Search people for existing email address, add to their account build_person(:email => self.email) true end end