diff options
Diffstat (limited to 'app/models/email_address.rb')
-rw-r--r-- | app/models/email_address.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/app/models/email_address.rb b/app/models/email_address.rb index 69ae8a066..de8c86531 100644 --- a/app/models/email_address.rb +++ b/app/models/email_address.rb @@ -74,7 +74,7 @@ class EmailAddress < ApplicationRecord # Returns true if domain belongs to domains list. def self.domain_in?(domain, domains) - domain = domain.downcase + domain = domain.to_s.downcase domains = domains.to_s.split(/[\s,]+/) unless domains.is_a?(Array) domains.reject(&:blank?).map(&:downcase).any? do |s| s.start_with?('.') ? domain.end_with?(s) : domain == s @@ -150,6 +150,10 @@ class EmailAddress < ApplicationRecord def validate_email_domain domain = address.partition('@').last + # Skip domain validation if the email does not contain a domain part, + # to avoid an incomplete error message like "domain not allowed ()" + return if domain.empty? + return if self.class.valid_domain?(domain) if User.current.logged? |