2024-02-25 12:15:55 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2010-03-10 18:21:43 -05:00
|
|
|
module UsersHelper
|
2019-08-31 19:08:16 -04:00
|
|
|
def email_sig(user, purpose, expires = nil)
|
|
|
|
EmailLinkValidator.generate("#{user.id}", purpose, expires)
|
2015-09-03 20:03:03 -04:00
|
|
|
end
|
2022-12-07 12:40:36 -05:00
|
|
|
|
|
|
|
def email_domain_search(email)
|
|
|
|
return unless email.include?("@")
|
|
|
|
|
|
|
|
domain = email.split("@").last
|
|
|
|
link_to "»", users_path(search: { email_matches: "*@#{domain}" })
|
|
|
|
end
|
2025-02-26 08:34:43 -05:00
|
|
|
|
|
|
|
def simple_avatar(user, **options)
|
|
|
|
return "" if user.nil?
|
|
|
|
post_id = user.avatar_id
|
|
|
|
deferred_post_ids.add(post_id) if post_id
|
|
|
|
|
|
|
|
klass = options.delete(:class)
|
|
|
|
named = options.delete(:named)
|
|
|
|
tag.a href: user_path(user), class: "simple-avatar placeholder #{klass}", data: { id: post_id, name: user.name } do
|
|
|
|
tag.span(class: "avatar-button") do
|
|
|
|
concat tag.span(user.pretty_name, class: "avatar-name") if named
|
|
|
|
concat tag.span(class: "avatar-image", data: { name: user.name[0].capitalize })
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def profile_avatar(user, **options)
|
|
|
|
return if user.nil?
|
|
|
|
post_id = user.avatar_id
|
|
|
|
deferred_post_ids.add(post_id) if post_id
|
|
|
|
|
|
|
|
klass = options.delete(:class)
|
|
|
|
|
|
|
|
render "/application/profile_avatar", user: user, post_id: post_id, klass: klass
|
|
|
|
end
|
|
|
|
|
|
|
|
def user_level_badge(user)
|
|
|
|
return if user.nil?
|
|
|
|
|
|
|
|
tag.span(class: "level-badge level-#{user.level_string.downcase}") do
|
|
|
|
user.level_string.upcase
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def user_feedback_badge(user)
|
|
|
|
return if user.nil?
|
|
|
|
|
|
|
|
feedbacks = user.feedback_pieces
|
|
|
|
deleted = CurrentUser.user.is_staff? ? feedbacks[:deleted] : 0
|
|
|
|
active = feedbacks[:positive] + feedbacks[:neutral] + feedbacks[:negative]
|
|
|
|
|
|
|
|
render "/application/feedback_badge", user: user, positive: feedbacks[:positive], neutral: feedbacks[:neutral], negative: feedbacks[:negative], deleted: deleted, active: active
|
|
|
|
end
|
2010-03-10 18:21:43 -05:00
|
|
|
end
|