Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2016-03-01 19:02:57 +0300
committerDouwe Maan <douwe@gitlab.com>2016-03-01 19:02:57 +0300
commitacd9881061a3196d1ed869448ea6c321301f9ac7 (patch)
treec66757f82536e5f9e99a75532bf1eb89c3808c16
parent204a9895333178cc90b40ef365ad566d750fa594 (diff)
parent128757a7f97b3dc0bf2efd4fac49dc0eaa0af04c (diff)
Merge branch 'rs-fix-user-namespace_uniq' into 'master'
Properly check for a pre-existing error in `User#namespace_uniq` Rails adds an empty error to the Errors object even if you just call `#[]` on it: ``` [1] pry(main)> u = User.last [2] pry(main)> u.errors.keys => [] [3] pry(main)> u.errors[:username].present? => false [4] pry(main)> u.errors.keys => [:username] ``` See merge request !3017
-rw-r--r--app/models/user.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index 4bc4ab8de7f..2dfef208ee5 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -373,7 +373,8 @@ class User < ActiveRecord::Base
def namespace_uniq
# Return early if username already failed the first uniqueness validation
- return if self.errors[:username].include?('has already been taken')
+ return if self.errors.key?(:username) &&
+ self.errors[:username].include?('has already been taken')
namespace_name = self.username
existing_namespace = Namespace.by_path(namespace_name)