mirror of
https://github.com/internetee/registry.git
synced 2025-07-20 09:46:09 +02:00
Merge branch 'master' of github.com:domify/registry
This commit is contained in:
commit
70927a25e7
3 changed files with 13 additions and 3 deletions
|
@ -10,12 +10,13 @@ class Domain < ActiveRecord::Base
|
||||||
belongs_to :registrar
|
belongs_to :registrar
|
||||||
belongs_to :registrant
|
belongs_to :registrant
|
||||||
|
|
||||||
has_many :domain_contacts, dependent: :destroy
|
|
||||||
has_many :admin_domain_contacts
|
has_many :admin_domain_contacts
|
||||||
accepts_nested_attributes_for :admin_domain_contacts, allow_destroy: true
|
accepts_nested_attributes_for :admin_domain_contacts, allow_destroy: true
|
||||||
has_many :tech_domain_contacts
|
has_many :tech_domain_contacts
|
||||||
accepts_nested_attributes_for :tech_domain_contacts, allow_destroy: true
|
accepts_nested_attributes_for :tech_domain_contacts, allow_destroy: true
|
||||||
|
|
||||||
|
# NB! contacts, admin_contacts, tech_contacts are empty for a new record
|
||||||
|
has_many :domain_contacts, dependent: :destroy
|
||||||
has_many :contacts, through: :domain_contacts, source: :contact
|
has_many :contacts, through: :domain_contacts, source: :contact
|
||||||
has_many :admin_contacts, through: :admin_domain_contacts, source: :contact
|
has_many :admin_contacts, through: :admin_domain_contacts, source: :contact
|
||||||
has_many :tech_contacts, through: :tech_domain_contacts, source: :contact
|
has_many :tech_contacts, through: :tech_domain_contacts, source: :contact
|
||||||
|
|
|
@ -19,7 +19,16 @@ class Epp::Domain < Domain
|
||||||
before_save :link_contacts
|
before_save :link_contacts
|
||||||
def link_contacts
|
def link_contacts
|
||||||
# Based on bullet report
|
# Based on bullet report
|
||||||
|
if new_record?
|
||||||
|
# new record does not have correct instance contacts entries thanks to epp
|
||||||
|
unlinked_contacts = [registrant]
|
||||||
|
unlinked_contacts << admin_domain_contacts.map(&:contact)
|
||||||
|
unlinked_contacts << tech_domain_contacts.map(&:contact)
|
||||||
|
unlinked_contacts.flatten!
|
||||||
|
else
|
||||||
unlinked_contacts = contacts.select { |c| !c.linked? } # speed up a bit
|
unlinked_contacts = contacts.select { |c| !c.linked? } # speed up a bit
|
||||||
|
end
|
||||||
|
|
||||||
unlinked_contacts.each do |uc|
|
unlinked_contacts.each do |uc|
|
||||||
uc.domains_present = true # no need to fetch domains again
|
uc.domains_present = true # no need to fetch domains again
|
||||||
uc.save(validate: false)
|
uc.save(validate: false)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue