FIX: clear the site_contact_username setting if the user's staff privileges are revoked

This commit is contained in:
Neil Lalonde
2018-12-14 16:52:37 -05:00
parent 0d3c1cde90
commit ef0e84e3d9
2 changed files with 50 additions and 0 deletions

View File

@@ -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