From 56c858e58b268746096429d4549064a557a8ac72 Mon Sep 17 00:00:00 2001 From: Neil Lalonde Date: Mon, 15 Apr 2013 11:39:30 -0400 Subject: [PATCH] Use transaction around deleting a user and logging that action --- lib/user_destroyer.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/user_destroyer.rb b/lib/user_destroyer.rb index c5de9f03c4a..306d97e4b8a 100644 --- a/lib/user_destroyer.rb +++ b/lib/user_destroyer.rb @@ -16,10 +16,12 @@ class UserDestroyer def destroy(user) raise Discourse::InvalidParameters.new('user is nil') unless user and user.is_a?(User) raise PostsExistError if user.post_count != 0 - user.destroy.tap do |u| - if u - AdminLogger.new(@admin).log_user_deletion(user) - MessageBus.publish "/file-change", ["refresh"], user_ids: [user.id] + User.transaction do + user.destroy.tap do |u| + if u + AdminLogger.new(@admin).log_user_deletion(user) + MessageBus.publish "/file-change", ["refresh"], user_ids: [user.id] + end end end end