FEATURE: sso_overrides_(email|username|name) for all auth methods

These settings previously applied only to discourse-sso. Now they work for all external authentication methods.
This commit is contained in:
David Taylor
2020-06-18 11:01:02 +01:00
parent ec448a1516
commit 977766e7a8
14 changed files with 143 additions and 60 deletions

View File

@ -23,7 +23,7 @@ module UserGuardian
end
def can_edit_username?(user)
return false if SiteSetting.sso_overrides_username? && SiteSetting.enable_sso?
return false if SiteSetting.sso_overrides_username?
return true if is_staff?
return false if SiteSetting.username_change_period <= 0
return false if is_anonymous?
@ -31,7 +31,7 @@ module UserGuardian
end
def can_edit_email?(user)
return false if SiteSetting.sso_overrides_email? && SiteSetting.enable_sso?
return false if SiteSetting.sso_overrides_email?
return false unless SiteSetting.email_editable?
return true if is_staff?
return false if is_anonymous?
@ -40,7 +40,7 @@ module UserGuardian
def can_edit_name?(user)
return false unless SiteSetting.enable_names?
return false if SiteSetting.sso_overrides_name? && SiteSetting.enable_sso?
return false if SiteSetting.sso_overrides_name?
return true if is_staff?
return false if is_anonymous?
can_edit?(user)