mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-26 03:01:14 +08:00
Adds IP lookup functionality to the reviewable item view, allowing staff members to quickly look up user IPs when reviewing flagged content. Screenshots <img width="1110" height="882" alt="Screenshot 2025-11-20 at 11 19 26 am" src="https://github.com/user-attachments/assets/c14e5908-477d-4cf1-bfcc-5b910f0d3040" /> <img width="461" height="951" alt="Screenshot 2025-11-20 at 11 20 10 am" src="https://github.com/user-attachments/assets/1fa54ebf-ebb3-4cc7-a8f1-a9bf304a9d58" />
46 lines
906 B
Ruby
Vendored
46 lines
906 B
Ruby
Vendored
# frozen_string_literal: true
|
|
|
|
class ReviewableUserSerializer < ReviewableSerializer
|
|
attributes :link_admin, :user_fields, :reject_reason, :target_user
|
|
|
|
payload_attributes(
|
|
:username,
|
|
:email,
|
|
:name,
|
|
:bio,
|
|
:website,
|
|
:scrubbed_by,
|
|
:scrubbed_reason,
|
|
:scrubbed_at,
|
|
)
|
|
|
|
def link_admin
|
|
scope.is_staff? && object.target.present?
|
|
end
|
|
|
|
def user_fields
|
|
object.target.user_fields
|
|
end
|
|
|
|
def include_user_fields?
|
|
object.target.present? && object.target.user_fields.present?
|
|
end
|
|
|
|
def attributes(*args)
|
|
data = super
|
|
data[:payload]&.delete("email") if !include_email?
|
|
data
|
|
end
|
|
|
|
def include_email?
|
|
scope.can_check_emails?(scope.user)
|
|
end
|
|
|
|
def target_user
|
|
FlaggedUserSerializer.new(object.target, scope: scope, root: false).as_json
|
|
end
|
|
|
|
def include_target_user?
|
|
scope.can_see_reviewable_ui_refresh? && object.target
|
|
end
|
|
end
|