mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
DEV: improve code readability & add tests for user guardian.
a511bea4cc3f50bd1e067a46bdbf5cd19eb335a3
This commit is contained in:
@ -475,13 +475,16 @@ class Admin::UsersController < Admin::AdminController
|
||||
def merge
|
||||
target_username = params.require(:target_username)
|
||||
target_user = User.find_by_username(target_username)
|
||||
raise Discourse::NotFound if target_user.blank?
|
||||
|
||||
guardian.ensure_can_merge_users!(@user, target_user)
|
||||
serializer_opts = { root: false, scope: guardian }
|
||||
|
||||
if user = UserMerger.new(@user, target_user, current_user).merge!
|
||||
render json: success_json.merge(merged: true, user: user)
|
||||
user_json = AdminDetailedUserSerializer.new(user, serializer_opts).as_json
|
||||
render json: success_json.merge(merged: true, user: user_json)
|
||||
else
|
||||
render json: failed_json.merge(user: AdminDetailedUserSerializer.new(@user, root: false).as_json)
|
||||
render json: failed_json.merge(user: AdminDetailedUserSerializer.new(@user, serializer_opts).as_json)
|
||||
end
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user