users: add ability to undelete accounts.
Add ability to undelete accounts from within the console. Their password is reset, their name is restored to their last known user name, and a mod action is logged.
This commit is contained in:
@@ -42,6 +42,15 @@ class UserDeletion
|
||||
true
|
||||
end
|
||||
|
||||
def undelete!
|
||||
user.with_lock do
|
||||
user.update!(is_deleted: false, password: password)
|
||||
UserNameChangeRequest.create!(user: user, desired_name: user.user_name_change_requests.order(id: :desc).first.original_name, original_name: user.name)
|
||||
ModAction.log("undeleted user ##{user.id}", :user_undelete, subject: user, user: deleter)
|
||||
UserEvent.create_from_request!(user, :user_undeletion, request) if request.present?
|
||||
end
|
||||
end
|
||||
|
||||
# Calls `delete_user`.
|
||||
def async_delete_user
|
||||
DeleteUserJob.perform_later(user)
|
||||
|
||||
Reference in New Issue
Block a user