summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2017-04-27 20:41:16 +0000
committerLin Jen-Shin <godfat@godfat.org>2017-04-28 17:38:54 +0800
commit04eafae137edddcbb382a4b3555349b2a4ce37b2 (patch)
treead9644f61dd9a28fa04593594c50331ab2ae873a
parentc6b13536dd596b7bdc58f66dffe8b803555db641 (diff)
downloadgitlab-ce-04eafae137edddcbb382a4b3555349b2a4ce37b2.tar.gz
Merge branch 'dm-fix-ghost-user-validation' into 'master'
Skip validation when creating internal (ghost, service desk) users See merge request !10949
-rw-r--r--app/models/user.rb4
-rw-r--r--changelogs/unreleased/dm-fix-ghost-user-validation.yml4
-rw-r--r--spec/models/user_spec.rb10
3 files changed, 17 insertions, 1 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index 31e975b8e53..7767d83a9b6 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -1075,11 +1075,13 @@ class User < ActiveRecord::Base
User.find_by_email(s)
end
- scope.create(
+ user = scope.build(
username: username,
email: email,
&creation_block
)
+ user.save(validate: false)
+ user
ensure
Gitlab::ExclusiveLease.cancel(lease_key, uuid)
end
diff --git a/changelogs/unreleased/dm-fix-ghost-user-validation.yml b/changelogs/unreleased/dm-fix-ghost-user-validation.yml
new file mode 100644
index 00000000000..4214786cb5a
--- /dev/null
+++ b/changelogs/unreleased/dm-fix-ghost-user-validation.yml
@@ -0,0 +1,4 @@
+---
+title: Skip validation when creating internal (ghost, service desk) users
+merge_request:
+author:
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 9de16c41e94..49819c92a18 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -1558,6 +1558,16 @@ describe User, models: true do
expect(ghost.email).to eq('ghost1@example.com')
end
end
+
+ context 'when a domain whitelist is in place' do
+ before do
+ stub_application_setting(domain_whitelist: ['gitlab.com'])
+ end
+
+ it 'creates a ghost user' do
+ expect(User.ghost).to be_persisted
+ end
+ end
end
describe '#update_two_factor_requirement' do