mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: Anonymize User. A way to remove a user but keep their topics and posts.
This commit is contained in:
23
app/services/username_changer.rb
Normal file
23
app/services/username_changer.rb
Normal file
@@ -0,0 +1,23 @@
|
||||
class UsernameChanger
|
||||
|
||||
def initialize(user, new_username, actor=nil)
|
||||
@user = user
|
||||
@new_username = new_username
|
||||
@actor = actor
|
||||
end
|
||||
|
||||
def self.change(user, new_username, actor=nil)
|
||||
self.new(user, new_username, actor).change
|
||||
end
|
||||
|
||||
def change
|
||||
if @actor && @actor != @user
|
||||
StaffActionLogger.new(@actor).log_username_change(@user, @user.username, @new_username)
|
||||
end
|
||||
|
||||
# future work: update mentions and quotes
|
||||
|
||||
@user.username = @new_username
|
||||
@user.save
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user