FIX: Do not allow invite_only and enable_sso at the same time

This functionality was never supported but before the new review queue
it didn't have any errors. Now the combination of settings is prevented
and existing sites with sso enabled will be migrated to remove invite
only.
This commit is contained in:
Robin Ward
2019-04-02 10:26:27 -04:00
parent af04318aff
commit 6ebadaed2c
7 changed files with 78 additions and 2 deletions

View File

@ -0,0 +1,14 @@
class EnableInviteOnlyValidator
def initialize(opts = {})
@opts = opts
end
def valid_value?(val)
return true if val == 'f'
!SiteSetting.enable_sso?
end
def error_message
I18n.t('site_settings.errors.sso_invite_only')
end
end

View File

@ -5,10 +5,12 @@ class EnableSsoValidator
def valid_value?(val)
return true if val == 'f'
SiteSetting.sso_url.present?
return false if SiteSetting.sso_url.blank? || SiteSetting.invite_only?
true
end
def error_message
I18n.t('site_settings.errors.sso_url_is_empty')
return I18n.t('site_settings.errors.sso_url_is_empty') if SiteSetting.sso_url.blank?
return I18n.t('site_settings.errors.sso_invite_only') if SiteSetting.invite_only?
end
end