diff options
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/concerns/routable.rb | 5 | ||||
| -rw-r--r-- | app/models/email.rb | 8 | ||||
| -rw-r--r-- | app/models/namespace.rb | 2 |
3 files changed, 8 insertions, 7 deletions
diff --git a/app/models/concerns/routable.rb b/app/models/concerns/routable.rb index f382b3624ed..2cf95ac0dae 100644 --- a/app/models/concerns/routable.rb +++ b/app/models/concerns/routable.rb @@ -190,5 +190,10 @@ module Routable route || build_route(source: self) route.path = build_full_path route.name = build_full_name + route.namespace = if is_a?(Namespace) + self + elsif is_a?(Project) + self.project_namespace + end end end diff --git a/app/models/email.rb b/app/models/email.rb index cda46c5e523..3896dfd5d22 100644 --- a/app/models/email.rb +++ b/app/models/email.rb @@ -6,8 +6,8 @@ class Email < ApplicationRecord belongs_to :user, optional: false - validates :email, presence: true, uniqueness: true - validate :validate_email_format + validates :email, presence: true, uniqueness: true, devise_email: true + validate :unique_email, if: ->(email) { email.email_changed? } scope :confirmed, -> { where.not(confirmed_at: nil) } @@ -33,10 +33,6 @@ class Email < ApplicationRecord self.errors.add(:email, 'has already been taken') if primary_email_of_another_user? end - def validate_email_format - self.errors.add(:email, I18n.t(:invalid, scope: 'valid_email.validations.email')) unless ValidateEmail.valid?(self.email) - end - # once email is confirmed, update the gpg signatures def update_invalid_gpg_signatures user.update_invalid_gpg_signatures if confirmed? diff --git a/app/models/namespace.rb b/app/models/namespace.rb index adf42acdd2b..1e7f0f10aa6 100644 --- a/app/models/namespace.rb +++ b/app/models/namespace.rb @@ -43,7 +43,7 @@ class Namespace < ApplicationRecord has_many :projects, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent has_many :project_statistics has_one :namespace_settings, inverse_of: :namespace, class_name: 'NamespaceSetting', autosave: true - has_one :namespace_route, foreign_key: :namespace_id, autosave: true, inverse_of: :namespace, class_name: 'Route' + has_one :namespace_route, foreign_key: :namespace_id, autosave: false, inverse_of: :namespace, class_name: 'Route' has_many :runner_namespaces, inverse_of: :namespace, class_name: 'Ci::RunnerNamespace' has_many :runners, through: :runner_namespaces, source: :runner, class_name: 'Ci::Runner' |
