diff options
Diffstat (limited to 'app/validators')
-rw-r--r-- | app/validators/unreserved_username_validator.rb | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/app/validators/unreserved_username_validator.rb b/app/validators/unreserved_username_validator.rb index c2311a89a..634ceb06e 100644 --- a/app/validators/unreserved_username_validator.rb +++ b/app/validators/unreserved_username_validator.rb @@ -2,20 +2,22 @@ class UnreservedUsernameValidator < ActiveModel::Validator def validate(account) - return if account.username.nil? - account.errors.add(:username, I18n.t('accounts.reserved_username')) if reserved_username?(account.username) + @username = account.username + return if @username.nil? + + account.errors.add(:username, I18n.t('accounts.reserved_username')) if reserved_username? end private - def pam_controlled?(value) + def pam_controlled? return false unless Devise.pam_authentication && Devise.pam_controlled_service - Rpam2.account(Devise.pam_controlled_service, value).present? + Rpam2.account(Devise.pam_controlled_service, @username).present? end - def reserved_username?(value) - return true if pam_controlled?(value) + def reserved_username? + return true if pam_controlled? return false unless Setting.reserved_usernames - Setting.reserved_usernames.include?(value.downcase) + Setting.reserved_usernames.include?(@username.downcase) end end |