mirror of
https://github.com/internetee/registry.git
synced 2025-07-30 22:46:22 +02:00
Merge pull request #2730 from internetee/2702-optional-admin-contact-for-private-registrations
Make admin contacts optional for private registrants
This commit is contained in:
commit
a9b341ebfe
5 changed files with 173 additions and 8 deletions
|
@ -164,15 +164,35 @@ class Domain < ApplicationRecord
|
|||
max: -> { Setting.dnskeys_max_count },
|
||||
}
|
||||
|
||||
validates :admin_domain_contacts, object_count: {
|
||||
min: -> { Setting.admin_contacts_min_count },
|
||||
max: -> { Setting.admin_contacts_max_count },
|
||||
}
|
||||
def self.admin_contacts_validation_rules(for_org:)
|
||||
{
|
||||
min: -> { for_org ? Setting.admin_contacts_min_count : 0 },
|
||||
max: -> { Setting.admin_contacts_max_count }
|
||||
}
|
||||
end
|
||||
|
||||
validates :tech_domain_contacts, object_count: {
|
||||
min: -> { Setting.tech_contacts_min_count },
|
||||
max: -> { Setting.tech_contacts_max_count },
|
||||
}
|
||||
def self.tech_contacts_validation_rules(for_org:)
|
||||
{
|
||||
min: -> { for_org ? Setting.tech_contacts_min_count : 0 },
|
||||
max: -> { Setting.tech_contacts_max_count }
|
||||
}
|
||||
end
|
||||
|
||||
validates :admin_domain_contacts,
|
||||
object_count: admin_contacts_validation_rules(for_org: true),
|
||||
if: :require_admin_contacts?
|
||||
|
||||
validates :admin_domain_contacts,
|
||||
object_count: admin_contacts_validation_rules(for_org: false),
|
||||
unless: :require_admin_contacts?
|
||||
|
||||
validates :tech_domain_contacts,
|
||||
object_count: tech_contacts_validation_rules(for_org: true),
|
||||
if: :require_tech_contacts?
|
||||
|
||||
validates :tech_domain_contacts,
|
||||
object_count: tech_contacts_validation_rules(for_org: false),
|
||||
unless: :require_tech_contacts?
|
||||
|
||||
validates :nameservers, uniqueness_multi: {
|
||||
attribute: 'hostname',
|
||||
|
@ -835,4 +855,12 @@ class Domain < ApplicationRecord
|
|||
end
|
||||
array
|
||||
end
|
||||
|
||||
def require_admin_contacts?
|
||||
registrant.present? && registrant.org?
|
||||
end
|
||||
|
||||
def require_tech_contacts?
|
||||
registrant.present? && registrant.org?
|
||||
end
|
||||
end
|
||||
|
|
|
@ -114,7 +114,9 @@ class Epp::Domain < Domain
|
|||
|
||||
def attach_default_contacts
|
||||
return if registrant.blank?
|
||||
|
||||
registrant_obj = Contact.find_by(code: registrant.code)
|
||||
return if registrant_obj.priv?
|
||||
|
||||
tech_contacts << registrant_obj if tech_domain_contacts.blank?
|
||||
admin_contacts << registrant_obj if admin_domain_contacts.blank? && !registrant.org?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue