diff options
author | Robert Speicher <rspeicher@gmail.com> | 2016-01-02 19:53:45 -0500 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2016-01-02 20:03:28 -0500 |
commit | fd178c1e7d23b0bf96565ae5177485e847c9271d (patch) | |
tree | e1c01bb9497e0811cf98c43fcd74d9e1935bde2e /app/models/user.rb | |
parent | de6b6ccc421776891085c5c41e90d33a01e3ac30 (diff) | |
download | gitlab-ce-rs-issue-201.tar.gz |
Prevent duplicate "username has already been taken" validation messagers-issue-201
Closes #201 - two-year-old bug, woo! :boom: :tada:
Diffstat (limited to 'app/models/user.rb')
-rw-r--r-- | app/models/user.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index df87f3b79bd..20f907e4347 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -352,10 +352,13 @@ class User < ActiveRecord::Base end def namespace_uniq + # Return early if username already failed the first uniqueness validation + return if self.errors[:username].include?('has already been taken') + namespace_name = self.username existing_namespace = Namespace.by_path(namespace_name) if existing_namespace && existing_namespace != self.namespace - self.errors.add :username, "already exists" + self.errors.add(:username, 'has already been taken') end end |