diff --git a/app/jobs/regular/fix_avatar_in_quotes.rb b/app/jobs/regular/fix_avatar_in_quotes.rb index a5288254b18..17ef0d2af67 100644 --- a/app/jobs/regular/fix_avatar_in_quotes.rb +++ b/app/jobs/regular/fix_avatar_in_quotes.rb @@ -2,8 +2,7 @@ module Jobs class FixAvatarInQuotes < Jobs::Base def execute(args) - user = User.find(args[:user_id]) - post_ids_to_rebake = Post.exec_sql("SELECT post_id FROM quoted_posts WHERE quoted_post_id IN (SELECT id FROM posts WHERE user_id = ?)", user.id).values.flatten.map(&:to_i) + post_ids_to_rebake = Post.exec_sql("SELECT post_id FROM quoted_posts WHERE quoted_post_id IN (SELECT id FROM posts WHERE user_id = ?)", args[:user_id]).values.flatten.map(&:to_i) Post.where(id: post_ids_to_rebake).find_each.map(&:rebake!) end diff --git a/app/models/user.rb b/app/models/user.rb index b49f332d21a..af2ab4c7197 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -646,7 +646,9 @@ class User < ActiveRecord::Base Jobs.enqueue(:update_gravatar, user_id: self.id, avatar_id: avatar.id) end - Jobs.enqueue(:fix_avatar_in_quotes, user_id: self.id) + if self.uploaded_avatar_id_changed? + Jobs.enqueue(:fix_avatar_in_quotes, user_id: self.id) + end end def first_post_created_at