FIX: Consider reserved usernames as not 'available'

https://meta.discourse.org/t/reserved-usernames-ignored-by-invites/32490
This commit is contained in:
Kane York 2015-08-25 13:33:50 -07:00
parent 01406c65a6
commit 1586886bf9
2 changed files with 7 additions and 1 deletions

View file

@ -149,7 +149,7 @@ class User < ActiveRecord::Base
def self.username_available?(username) def self.username_available?(username)
lower = username.downcase lower = username.downcase
User.where(username_lower: lower).blank? User.where(username_lower: lower).blank? && !SiteSetting.reserved_usernames.split("|").include?(username)
end end
def effective_locale def effective_locale

View file

@ -49,6 +49,12 @@ describe UserNameSuggester do
expect(UserNameSuggester.suggest("myreallylongnam")).to eq('myreallylongna1') expect(UserNameSuggester.suggest("myreallylongnam")).to eq('myreallylongna1')
end end
it "doesn't suggest reserved usernames" do
SiteSetting.reserved_usernames = 'admin|steve|steve1'
expect(UserNameSuggester.suggest("admin@hissite.com")).to eq('admin1')
expect(UserNameSuggester.suggest("steve")).to eq('steve2')
end
it "removes leading character if it is not alphanumeric" do it "removes leading character if it is not alphanumeric" do
expect(UserNameSuggester.suggest("_myname")).to eq('myname') expect(UserNameSuggester.suggest("_myname")).to eq('myname')
end end