mirror of
https://github.com/discourse/discourse.git
synced 2025-02-16 18:24:52 -06:00
FIX: Transaction in UserAnonymizer prevented avatar from updating
This commit is contained in:
parent
9947c38e1c
commit
2e1b5bc8d3
@ -5,6 +5,7 @@ module Jobs
|
||||
@user_id = args[:user_id]
|
||||
@old_username = args[:old_username]
|
||||
@new_username = args[:new_username]
|
||||
@avatar_img = PrettyText.avatar_img(args[:avatar_template], "tiny")
|
||||
|
||||
@raw_mention_regex = /(?:(?<![\w`_])|(?<=_))@#{@old_username}(?:(?![\w\-\.])|(?=[\-\.](?:\s|$)))/i
|
||||
@raw_quote_regex = /(\[quote\s*=\s*["'']?)#{@old_username}(\,?[^\]]*\])/i
|
||||
@ -131,14 +132,10 @@ module Jobs
|
||||
div.children.each do |child|
|
||||
child.content = child.content.gsub(@cooked_quote_username_regex, @new_username) if child.text?
|
||||
end
|
||||
div.at_css("img.avatar")&.replace(avatar_img)
|
||||
div.at_css("img.avatar")&.replace(@avatar_img)
|
||||
end
|
||||
|
||||
doc.to_html
|
||||
end
|
||||
|
||||
def avatar_img
|
||||
@avatar_img ||= PrettyText.avatar_img(User.find_by_id(@user_id).avatar_template, "tiny")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -26,7 +26,8 @@ class UserMerger
|
||||
def update_username
|
||||
Jobs::UpdateUsername.new.execute(user_id: @source_user.id,
|
||||
old_username: @source_user.username,
|
||||
new_username: @target_user.username)
|
||||
new_username: @target_user.username,
|
||||
avatar_template: @target_user.avatar_template)
|
||||
end
|
||||
|
||||
def move_posts
|
||||
|
@ -24,7 +24,8 @@ class UsernameChanger
|
||||
args = {
|
||||
user_id: @user.id,
|
||||
old_username: @old_username,
|
||||
new_username: @new_username
|
||||
new_username: @new_username,
|
||||
avatar_template: @user.avatar_template
|
||||
}
|
||||
|
||||
if asynchronous
|
||||
|
@ -1009,7 +1009,10 @@ describe UserMerger do
|
||||
it "updates the username" do
|
||||
Jobs::UpdateUsername.any_instance
|
||||
.expects(:execute)
|
||||
.with(user_id: source_user.id, old_username: 'alice1', new_username: 'alice')
|
||||
.with(user_id: source_user.id,
|
||||
old_username: 'alice1',
|
||||
new_username: 'alice',
|
||||
avatar_template: target_user.avatar_template)
|
||||
.once
|
||||
|
||||
merge_users!
|
||||
|
Loading…
Reference in New Issue
Block a user