mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
47 lines
934 B
Ruby
47 lines
934 B
Ruby
class DomainContact < ActiveRecord::Base
|
|
include EppErrors
|
|
belongs_to :contact
|
|
belongs_to :domain
|
|
|
|
after_create :domain_snapshot
|
|
after_destroy :domain_snapshot
|
|
# after_save :domain_snapshot
|
|
|
|
attr_accessor :value_typeahead
|
|
|
|
def epp_code_map
|
|
{
|
|
'2302' => [
|
|
[:contact_code_cache, :taken, { value: { obj: 'contact', val: contact_code_cache } }]
|
|
]
|
|
}
|
|
end
|
|
|
|
TECH = 'tech'
|
|
ADMIN = 'admin'
|
|
TYPES = [TECH, ADMIN]
|
|
|
|
validates :contact, presence: true
|
|
|
|
scope :admin, -> { where(contact_type: ADMIN) }
|
|
scope :tech, -> { where(contact_type: TECH) }
|
|
|
|
def admin?
|
|
contact_type == ADMIN
|
|
end
|
|
|
|
def tech?
|
|
contact_type == TECH
|
|
end
|
|
|
|
def value_typeahead
|
|
@value_typeahead || contact.try(:name) || nil
|
|
end
|
|
|
|
def domain_snapshot
|
|
return true if domain.nil?
|
|
return true if domain.versions.count == 0 # avoid snapshot on creation
|
|
domain.create_version
|
|
true
|
|
end
|
|
end
|