Module: CamaleonCms::UserMethods

Extended by:
ActiveSupport::Concern
Included in:
User
Defined in:
app/models/concerns/camaleon_cms/user_methods.rb

Instance Method Summary collapse

Instance Method Details

#_idObject



47
48
49
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 47

def _id
  "#{self.role.upcase}-#{self.id}"
end

#admin?Boolean

Returns:

  • (Boolean)


55
56
57
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 55

def admin?
  role == 'admin'
end

#assign_site(site) ⇒ Object

assign a new site for current user



69
70
71
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 69

def assign_site(site)
  self.update_column(:site_id, site.id)
end

#client?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 59

def client?
  self.role == 'client'
end

#createdObject



86
87
88
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 86

def created
  self.created_at.strftime('%d/%m/%Y %H:%M')
end

#decorator_classObject



113
114
115
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 113

def decorator_class
  'CamaleonCms::UserDecorator'.constantize
end

#fullnameObject



51
52
53
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 51

def fullname
  "#{self.first_name} #{self.last_name}".titleize
end

#generate_token(column) ⇒ Object

auth



95
96
97
98
99
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 95

def generate_token(column)
  begin
    self[column] = SecureRandom.urlsafe_base64
  end while CamaleonCms::User.exists?(column => self[column])
end

#get_role(site) ⇒ Object

return the UserRole Object of this user in Site



64
65
66
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 64

def get_role(site)
  @_user_role ||= site.user_roles.where(slug: self.role).first
end

#posts(site) ⇒ Object

return all posts of this user on site



43
44
45
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 43

def posts(site)
  site.posts.where(user_id: self.id)
end

#roleTextObject

DEPRECATED, please use user.the_role



82
83
84
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 82

def roleText
  User::ROLE[self.role]
end

#send_confirm_emailObject



107
108
109
110
111
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 107

def send_confirm_email
  generate_token(:confirm_email_token)
  self.confirm_email_sent_at = Time.zone.now
  save!
end

#send_password_resetObject



101
102
103
104
105
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 101

def send_password_reset
  generate_token(:password_reset_token)
  self.password_reset_sent_at = Time.zone.now
  save!
end

#sitesObject



73
74
75
76
77
78
79
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 73

def sites
  if PluginRoutes.system_info["users_share_sites"]
    CamaleonCms::Site.all
  else
    CamaleonCms::Site.where(id: self.site_id)
  end
end

#updatedObject



90
91
92
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 90

def updated
  self.updated_at.strftime('%d/%m/%Y %H:%M')
end