FEATURE: admin UI to merge two users. (#9509)

This commit is contained in:
Vinoth Kannan
2020-04-22 14:07:51 +05:30
committed by GitHub
parent 13956017da
commit a511bea4cc
13 changed files with 238 additions and 1 deletions

View File

@ -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!