diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2020-03-12 22:35:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-12 22:35:20 +0100 |
commit | bea0bb39d6c1762c97da484ffa8b5d73341e67e2 (patch) | |
tree | 0da0cf236231fde4b6103e4dc2428a99c1669e05 /app/models | |
parent | f556f79b7733834430b93109ac2c7f87529c8574 (diff) |
Add option to include resolved DNS records when blacklisting e-mail domains in admin UI (#13254)
* Add shortcuts to blacklist a user's e-mail domain in admin UI * Add option to blacklist resolved MX and IP records for e-mail domains
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/email_domain_block.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/models/email_domain_block.rb b/app/models/email_domain_block.rb index bc70dea25..f50fa46ba 100644 --- a/app/models/email_domain_block.rb +++ b/app/models/email_domain_block.rb @@ -7,13 +7,27 @@ # domain :string default(""), not null # created_at :datetime not null # updated_at :datetime not null +# parent_id :bigint(8) # class EmailDomainBlock < ApplicationRecord include DomainNormalizable + belongs_to :parent, class_name: 'EmailDomainBlock', optional: true + has_many :children, class_name: 'EmailDomainBlock', foreign_key: :parent_id, inverse_of: :parent, dependent: :destroy + validates :domain, presence: true, uniqueness: true, domain: true + def with_dns_records=(val) + @with_dns_records = ActiveModel::Type::Boolean.new.cast(val) + end + + def with_dns_records? + @with_dns_records + end + + alias with_dns_records with_dns_records? + def self.block?(email) _, domain = email.split('@', 2) |