FEATURE: Show similar users when penalizing a user (#19334)

* FEATURE: Show similar users when penalizing a user

Moderators will be notified if other users with the same IP address
exist before penalizing a user.

* FEATURE: Allow staff to penalize multiple users

This allows staff members to suspend or silence multiple users belonging
to the same person.
This commit is contained in:
Bianca Nenciu
2022-12-08 14:42:33 +02:00
committed by GitHub
parent ae40965896
commit 187b0bfb43
13 changed files with 259 additions and 56 deletions

View File

@ -36,7 +36,9 @@ class AdminDetailedUserSerializer < AdminUserSerializer
:can_disable_second_factor,
:can_delete_sso_record,
:api_key_count,
:external_ids
:external_ids,
:similar_users,
:similar_users_count
has_one :approved_by, serializer: BasicUserSerializer, embed: :objects
has_one :suspended_by, serializer: BasicUserSerializer, embed: :objects
@ -156,6 +158,28 @@ class AdminDetailedUserSerializer < AdminUserSerializer
external_ids
end
def similar_users
ActiveModel::ArraySerializer.new(
@options[:similar_users],
each_serializer: AdminUserListSerializer,
each_serializer: SimilarAdminUserSerializer,
scope: scope,
root: false,
).as_json
end
def include_similar_users?
@options[:similar_users].present?
end
def similar_users_count
@options[:similar_users_count]
end
def include_similar_users_count?
@options[:similar_users].present?
end
def can_delete_sso_record
scope.can_delete_sso_record?(object)
end