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:
authorJames Edwards-Jones <jedwardsjones@gitlab.com>2018-04-23 00:04:56 +0300
committerJames Edwards-Jones <jedwardsjones@gitlab.com>2018-05-02 16:36:47 +0300
commitd14851f9a36ce4e41e94e21d251589a3d197c423 (patch)
tree142d9f632efbedc3f7bbc96fdb78bd7ec1a17249 /app/models/identity.rb
parentb51f6e2c214df34a94b9097355775f29b269524b (diff)
Backport Identity.uniqueness_scope from EE
Originates in 'SamlProvider has many linked Identities' from EE
Diffstat (limited to 'app/models/identity.rb')
-rw-r--r--app/models/identity.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/app/models/identity.rb b/app/models/identity.rb
index 1011b9f1109..3fd0c5e751d 100644
--- a/app/models/identity.rb
+++ b/app/models/identity.rb
@@ -1,12 +1,16 @@
class Identity < ActiveRecord::Base
+ def self.uniqueness_scope
+ :provider
+ end
+
include Sortable
include CaseSensitivity
belongs_to :user
validates :provider, presence: true
- validates :extern_uid, allow_blank: true, uniqueness: { scope: :provider, case_sensitive: false }
- validates :user_id, uniqueness: { scope: :provider }
+ validates :extern_uid, allow_blank: true, uniqueness: { scope: uniqueness_scope, case_sensitive: false }
+ validates :user_id, uniqueness: { scope: uniqueness_scope }
before_save :ensure_normalized_extern_uid, if: :extern_uid_changed?
after_destroy :clear_user_synced_attributes, if: :user_synced_attributes_metadata_from_provider?