users: don't log mod action for user deletions.

Don't log a mod action when a user deletes their own account. This isn't a moderator action, so it
doesn't belong here. Account deletions are still logged on the /user_events page (visible to mods only).

A mod action is still logged when the Owner-level user deletes someone else's account.
This commit is contained in:
evazion
2022-11-10 14:24:47 -06:00
parent 15f611ca8b
commit 6f61abc6a7
2 changed files with 3 additions and 6 deletions

View File

@@ -34,7 +34,7 @@ class UserDeletion
rename
reset_password
async_delete_user
ModAction.log("deleted user ##{user.id}", :user_delete, subject: user, user: deleter)
ModAction.log("deleted user ##{user.id}", :user_delete, subject: user, user: deleter) if user != deleter
UserEvent.create_from_request!(user, :user_deletion, request) if request.present?
SessionLoader.new(request).logout(user) if user == deleter
end

View File

@@ -84,13 +84,10 @@ class UserDeletionTest < ActiveSupport::TestCase
assert_equal(false, @user.authenticate_password("password"))
end
should "generate a modaction" do
should "not generate a modaction" do
@deletion.delete!
assert_match(/deleted user ##{@user.id}/, ModAction.last.description)
assert_equal(@user, ModAction.last.subject)
assert_equal("user_delete", ModAction.last.category)
assert_equal(@deletion.deleter, ModAction.last.creator)
assert_equal(0, ModAction.user_delete.count)
end
should "remove the user's favorites if they have private favorites" do