mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: clear the site_contact_username setting if the user's staff privileges are revoked
This commit is contained in:
@@ -122,6 +122,7 @@ class User < ActiveRecord::Base
|
||||
after_save :badge_grant
|
||||
after_save :expire_old_email_tokens
|
||||
after_save :index_search
|
||||
after_save :check_site_contact_username
|
||||
after_commit :trigger_user_created_event, on: :create
|
||||
after_commit :trigger_user_destroyed_event, on: :destroy
|
||||
|
||||
@@ -1369,6 +1370,13 @@ class User < ActiveRecord::Base
|
||||
true
|
||||
end
|
||||
|
||||
def check_site_contact_username
|
||||
if (saved_change_to_admin? || saved_change_to_moderator?) &&
|
||||
self.username == SiteSetting.site_contact_username && !staff?
|
||||
SiteSetting.set_and_log(:site_contact_username, SiteSetting.defaults[:site_contact_username])
|
||||
end
|
||||
end
|
||||
|
||||
def self.ensure_consistency!
|
||||
DB.exec <<~SQL
|
||||
UPDATE users
|
||||
|
Reference in New Issue
Block a user