Compare commits

...

2 Commits

Author SHA1 Message Date
Matt Jankowski
69f350d1e3
Merge 4faaa6ed19 into 624c024766 2025-09-03 10:07:13 +00:00
Matt Jankowski
4faaa6ed19 Rely on email_domain method from approval require check 2025-08-20 10:41:18 -04:00

View File

@ -458,18 +458,16 @@ class User < ApplicationRecord
end end
def sign_up_email_requires_approval? def sign_up_email_requires_approval?
return false if email.blank? return false if email_domain.blank?
_, domain = email.split('@', 2) EmailDomainBlock.requires_approval?(approval_domains, attempt_ip: sign_up_ip)
return false if domain.blank? end
records = [] def approval_domains
[email_domain].tap do |records|
# Doing this conditionally is not very satisfying, but this is consistent # MX lookup is enabled only in production by default
# with the MX records validations we do and keeps the specs tractable. records << DomainResource.new(email_domain).mx unless self.class.skip_mx_check?
records = DomainResource.new(domain).mx unless self.class.skip_mx_check? end.flatten
EmailDomainBlock.requires_approval?(records + [domain], attempt_ip: sign_up_ip)
end end
def sign_up_username_requires_approval? def sign_up_username_requires_approval?