Fix external user creation failing when invite request text is required (#15405)
* Fix external user creation failing when invite request text is required Also fixes tootctl-based user creation. * Add test about invites when invite request text is otherwise required Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
parent
9915d11c0d
commit
1cf2c3a810
4 changed files with 16 additions and 5 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue