mirror of
https://github.com/internetee/registry.git
synced 2025-08-05 09:21:43 +02:00
Contact statuses and update_contact modified
This commit is contained in:
parent
c089544eae
commit
9c4f0a63a0
6 changed files with 107 additions and 3 deletions
|
@ -9,6 +9,7 @@ class Contact < ActiveRecord::Base
|
|||
|
||||
has_many :domain_contacts
|
||||
has_many :domains, through: :domain_contacts
|
||||
has_many :statuses, class_name: 'ContactStatus'
|
||||
|
||||
# TODO: remove the x_by
|
||||
belongs_to :created_by, class_name: 'EppUser', foreign_key: :created_by_id
|
||||
|
|
78
app/models/contact_status.rb
Normal file
78
app/models/contact_status.rb
Normal file
|
@ -0,0 +1,78 @@
|
|||
class ContactStatus < ActiveRecord::Base
|
||||
include EppErrors
|
||||
|
||||
belongs_to :contact
|
||||
|
||||
CLIENT_DELETE_PROHIBITED = 'clientDeleteProhibited'
|
||||
SERVER_DELETE_PROHIBITED = 'serverDeleteProhibited'
|
||||
CLIENT_HOLD = 'clientHold'
|
||||
SERVER_HOLD = 'serverHold'
|
||||
CLIENT_RENEW_PROHIBITED = 'clientRenewProhibited'
|
||||
SERVER_RENEW_PROHIBITED = 'serverRenewProhibited'
|
||||
CLIENT_TRANSFER_PROHIBITED = 'clientTransferProhibited'
|
||||
SERVER_TRANSFER_PROHIBITED = 'serverTransferProhibited'
|
||||
CLIENT_UPDATE_PROHIBITED = 'clientUpdateProhibited'
|
||||
SERVER_UPDATE_PROHIBITED = 'serverUpdateProhibited'
|
||||
INACTIVE = 'inactive'
|
||||
OK = 'ok'
|
||||
PENDING_CREATE = 'pendingCreate'
|
||||
PENDING_DELETE = 'pendingDelete'
|
||||
PENDING_RENEW = 'pendingRenew'
|
||||
PENDING_TRANSFER = 'pendingTransfer'
|
||||
PENDING_UPDATE = 'pendingUpdate'
|
||||
|
||||
SERVER_MANUAL_INZONE = 'serverManualInzone'
|
||||
SERVER_REGISTRANT_CHANGE_PROHIBITED = 'serverRegistrantChangeProhibited'
|
||||
SERVER_ADMIN_CHANGE_PROHIBITED = 'serverAdminChangeProhibited'
|
||||
SERVER_TECH_CHANGE_PROHIBITED = 'serverTechChangeProhibited'
|
||||
FORCE_DELETE = 'forceDelete'
|
||||
DELETE_CANDIDATE = 'deleteCandidate'
|
||||
EXPIRED = 'expired'
|
||||
|
||||
STATUSES = [
|
||||
CLIENT_DELETE_PROHIBITED, SERVER_DELETE_PROHIBITED, CLIENT_HOLD, SERVER_HOLD,
|
||||
CLIENT_RENEW_PROHIBITED, SERVER_RENEW_PROHIBITED, CLIENT_TRANSFER_PROHIBITED,
|
||||
SERVER_TRANSFER_PROHIBITED, CLIENT_UPDATE_PROHIBITED, SERVER_UPDATE_PROHIBITED,
|
||||
INACTIVE, OK, PENDING_CREATE, PENDING_DELETE, PENDING_RENEW, PENDING_TRANSFER,
|
||||
PENDING_UPDATE, SERVER_MANUAL_INZONE, SERVER_REGISTRANT_CHANGE_PROHIBITED,
|
||||
SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED, FORCE_DELETE,
|
||||
DELETE_CANDIDATE, EXPIRED
|
||||
]
|
||||
|
||||
CLIENT_STATUSES = [
|
||||
CLIENT_DELETE_PROHIBITED, CLIENT_HOLD, CLIENT_RENEW_PROHIBITED, CLIENT_TRANSFER_PROHIBITED,
|
||||
CLIENT_UPDATE_PROHIBITED
|
||||
]
|
||||
|
||||
SERVER_STATUSES = [
|
||||
SERVER_DELETE_PROHIBITED, SERVER_HOLD, SERVER_RENEW_PROHIBITED, SERVER_TRANSFER_PROHIBITED,
|
||||
SERVER_UPDATE_PROHIBITED, SERVER_MANUAL_INZONE, SERVER_REGISTRANT_CHANGE_PROHIBITED,
|
||||
SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED
|
||||
]
|
||||
|
||||
def epp_code_map
|
||||
{
|
||||
'2302' => [ # Object exists
|
||||
[:value, :taken, { value: { obj: 'status', val: value } }]
|
||||
]
|
||||
}
|
||||
end
|
||||
|
||||
def server_status?
|
||||
SERVER_STATUSES.include?(value)
|
||||
end
|
||||
|
||||
def client_status?
|
||||
CLIENT_STATUSES.include?(value)
|
||||
end
|
||||
|
||||
class << self
|
||||
def statuses_for_client
|
||||
CLIENT_STATUSES.map { |x| x.sub('client', '') }
|
||||
end
|
||||
|
||||
def statuses_for_admin
|
||||
SERVER_STATUSES.map { |x| x.sub('server', '') }
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue