mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 07:53:49 +08:00
FEATURE: admin UI to merge two users. (#9509)
This commit is contained in:
@ -20,6 +20,7 @@ class Admin::UsersController < Admin::AdminController
|
||||
:remove_group,
|
||||
:primary_group,
|
||||
:anonymize,
|
||||
:merge,
|
||||
:reset_bounce_score,
|
||||
:disable_second_factor,
|
||||
:delete_posts_batch]
|
||||
@ -471,6 +472,19 @@ class Admin::UsersController < Admin::AdminController
|
||||
end
|
||||
end
|
||||
|
||||
def merge
|
||||
target_username = params.require(:target_username)
|
||||
target_user = User.find_by_username(target_username)
|
||||
|
||||
guardian.ensure_can_merge_user!(@user, target_user)
|
||||
|
||||
if user = UserMerger.new(@user, target_user, current_user).merge!
|
||||
render json: success_json.merge(merged: true, user: user)
|
||||
else
|
||||
render json: failed_json.merge(user: AdminDetailedUserSerializer.new(@user, root: false).as_json)
|
||||
end
|
||||
end
|
||||
|
||||
def reset_bounce_score
|
||||
guardian.ensure_can_reset_bounce_score!(@user)
|
||||
@user.user_stat&.reset_bounce_score!
|
||||
|
Reference in New Issue
Block a user