|
|
|
@@ -83,7 +83,7 @@ class User < ApplicationRecord |
|
|
|
|
|
|
|
has_one :invite_request, class_name: 'UserInviteRequest', inverse_of: :user, dependent: :destroy |
|
|
|
accepts_nested_attributes_for :invite_request, reject_if: ->(attributes) { attributes['text'].blank? && !Setting.require_invite_text } |
|
|
|
validates :invite_request, presence: true, on: :create, if: -> { Setting.require_invite_text && !invited? } |
|
|
|
validates :invite_request, presence: true, on: :create, if: :invite_text_required? |
|
|
|
|
|
|
|
validates :locale, inclusion: I18n.available_locales.map(&:to_s), if: :locale? |
|
|
|
validates_with BlacklistedEmailValidator, on: :create |
|
|
|
@@ -128,7 +128,7 @@ class User < ApplicationRecord |
|
|
|
to: :settings, prefix: :setting, allow_nil: false |
|
|
|
|
|
|
|
attr_reader :invite_code, :sign_in_token_attempt |
|
|
|
attr_writer :external |
|
|
|
attr_writer :external, :bypass_invite_request_check |
|
|
|
|
|
|
|
def confirmed? |
|
|
|
confirmed_at.present? |
|
|
|
@@ -429,6 +429,10 @@ class User < ApplicationRecord |
|
|
|
!!@external |
|
|
|
end |
|
|
|
|
|
|
|
def bypass_invite_request_check? |
|
|
|
@bypass_invite_request_check |
|
|
|
end |
|
|
|
|
|
|
|
def sanitize_languages |
|
|
|
return if chosen_languages.nil? |
|
|
|
chosen_languages.reject!(&:blank?) |
|
|
|
@@ -466,4 +470,8 @@ class User < ApplicationRecord |
|
|
|
def validate_email_dns? |
|
|
|
email_changed? && !(Rails.env.test? || Rails.env.development?) |
|
|
|
end |
|
|
|
|
|
|
|
def invite_text_required? |
|
|
|
Setting.require_invite_text && !invited? && !external? && !bypass_invite_request_check? |
|
|
|
end |
|
|
|
end |