Sha256: 2c1e6f8a443d44b2a47241643f0035c37d26d272b95682e97efab6828227491a

Contents?: true

Size: 720 Bytes

Versions: 39

Compression:

Stored size: 720 Bytes

Contents

class User < ActiveRecord::Base
  
  has_paper_trail

  devise :database_authenticatable, 
         :recoverable, :rememberable, :trackable, :validatable

  #
  # RELATIONS
  #
  has_many :user_roles
  has_many :roles, :through => :user_roles

  accepts_nested_attributes_for :user_roles, :allow_destroy => true

  #
  # VALIDATIONS
  #
  validates :full_name, :presence => true

  #
  # METHODS
  #
  def role?(role)
    return true if root
    return roles.map{|x| x.keyword}.include? role.to_s
  end

  def priveleged?(role, action)
    return true if root
    ur = user_roles.includes(:role).find{|x| x.role.keyword == role.to_s}
    ur.blank? ? false : ur.priveleged?(action)
  end

  def title
    email
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
smartkiosk-server-0.13.1 app/models/user.rb
smartkiosk-server-0.13 app/models/user.rb
smartkiosk-server-0.12.1 app/models/user.rb
smartkiosk-server-0.12 app/models/user.rb
smartkiosk-server-0.11.11 app/models/user.rb
smartkiosk-server-0.11.10 app/models/user.rb
smartkiosk-server-0.11.9 app/models/user.rb
smartkiosk-server-0.11.8 app/models/user.rb
smartkiosk-server-0.11.7 app/models/user.rb
smartkiosk-server-0.11.6 app/models/user.rb
smartkiosk-server-0.11.5 app/models/user.rb
smartkiosk-server-0.11.4 app/models/user.rb
smartkiosk-server-0.11.3 app/models/user.rb
smartkiosk-server-0.11.2 app/models/user.rb
smartkiosk-server-0.11.1 app/models/user.rb
smartkiosk-server-0.11 app/models/user.rb
smartkiosk-server-0.10.19 app/models/user.rb
smartkiosk-server-0.10.18 app/models/user.rb
smartkiosk-server-0.10.17 app/models/user.rb
smartkiosk-server-0.10.16 app/models/user.rb