Module: AbAdmin::Models::User

Extended by:
ActiveSupport::Concern
Included in:
User
Defined in:
lib/ab_admin/models/user.rb

Instance Method Summary collapse

Instance Method Details

#activateObject



42
43
44
45
# File 'lib/ab_admin/models/user.rb', line 42

def activate
  self.trust_state = ::UserState.active.id
  self.locked_at = nil
end

#activate!Object



47
48
49
50
51
# File 'lib/ab_admin/models/user.rb', line 47

def activate!
  confirm!
  activate
  save
end

#active_for_authentication?Boolean

Returns:

  • (Boolean)


93
94
95
# File 'lib/ab_admin/models/user.rb', line 93

def active_for_authentication?
  super && trusted?
end

#admin?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/ab_admin/models/user.rb', line 77

def admin?
  has_role?(:admin)
end

#default?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/ab_admin/models/user.rb', line 73

def default?
  has_role?(:default)
end

#delete!Object



57
58
59
# File 'lib/ab_admin/models/user.rb', line 57

def delete!
  self.update_attribute(:trust_state, ::UserState.deleted.id)
end

#deleted?Boolean

Returns:

  • (Boolean)


65
66
67
# File 'lib/ab_admin/models/user.rb', line 65

def deleted?
  trust_state == ::UserState.deleted.id
end

#full_nameObject



38
39
40
# File 'lib/ab_admin/models/user.rb', line 38

def full_name
  [first_name.presence, last_name.presence].compact.join(' ')
end

#generate_password!Object



27
28
29
30
31
32
# File 'lib/ab_admin/models/user.rb', line 27

def generate_password!
  raw_password = Rails.env.test? ? '654321' : Devise.friendly_token[0..7]
  self.password = self.password_confirmation = raw_password
  self.save(:validate => false)
  raw_password
end

#has_role?(role_name) ⇒ Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/ab_admin/models/user.rb', line 81

def has_role?(role_name)
  user_role_type.code == role_name
end

#inactive_messageObject



97
98
99
# File 'lib/ab_admin/models/user.rb', line 97

def inactive_message
  trusted? ? super : :unconfirmed
end

#moderator?Boolean

Returns:

  • (Boolean)


69
70
71
# File 'lib/ab_admin/models/user.rb', line 69

def moderator?
  has_role?(:admin) || has_role?(:moderator)
end

#nameObject



34
35
36
# File 'lib/ab_admin/models/user.rb', line 34

def name
  full_name.strip.presence || email
end

#pending?Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/ab_admin/models/user.rb', line 85

def pending?
  trust_state == ::UserState.pending.id
end

#set_default_roleObject



23
24
25
# File 'lib/ab_admin/models/user.rb', line 23

def set_default_role
  self.user_role_id ||= ::UserRoleType.default.id
end

#suspend!Object



53
54
55
# File 'lib/ab_admin/models/user.rb', line 53

def suspend!
  self.update_attribute(:trust_state, ::UserState.suspended.id)
end

#trusted?Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/ab_admin/models/user.rb', line 89

def trusted?
  self.trust_state == ::UserState.active.id
end

#unsuspend!Object



61
62
63
# File 'lib/ab_admin/models/user.rb', line 61

def unsuspend!
  self.update_attribute(:trust_state, ::UserState.active.id)
end