Module: CamaleonCms::UserMethods
- Extended by:
- ActiveSupport::Concern
- Included in:
- User
- Defined in:
- app/models/concerns/camaleon_cms/user_methods.rb
Instance Method Summary collapse
- #_id ⇒ Object
- #admin? ⇒ Boolean
-
#assign_site(site) ⇒ Object
assign a new site for current user.
- #client? ⇒ Boolean
- #created ⇒ Object
- #decorator_class ⇒ Object
- #fullname ⇒ Object
-
#generate_token(column) ⇒ Object
auth.
-
#get_role(site) ⇒ Object
return the UserRole Object of this user in Site.
-
#posts(site) ⇒ Object
return all posts of this user on site.
-
#roleText ⇒ Object
DEPRECATED, please use user.the_role.
- #send_confirm_email ⇒ Object
- #send_password_reset ⇒ Object
- #sites ⇒ Object
- #updated ⇒ Object
Instance Method Details
#_id ⇒ Object
47 48 49 |
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 47 def _id "#{self.role.upcase}-#{self.id}" end |
#admin? ⇒ 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
59 60 61 |
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 59 def client? self.role == 'client' end |
#created ⇒ Object
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_class ⇒ Object
113 114 115 |
# File 'app/models/concerns/camaleon_cms/user_methods.rb', line 113 def decorator_class 'CamaleonCms::UserDecorator'.constantize end |
#fullname ⇒ Object
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 |
#roleText ⇒ Object
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_email ⇒ Object
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_reset ⇒ Object
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 |
#sites ⇒ Object
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 |
#updated ⇒ Object
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 |