diff --git a/app/models/contact_status.rb b/app/models/contact_status.rb index ac46c40d5..872a4fd89 100644 --- a/app/models/contact_status.rb +++ b/app/models/contact_status.rb @@ -4,51 +4,70 @@ class ContactStatus < ActiveRecord::Base belongs_to :contact + # Requests to delete the object MUST be rejected. CLIENT_DELETE_PROHIBITED = 'clientDeleteProhibited' SERVER_DELETE_PROHIBITED = 'serverDeleteProhibited' - CLIENT_HOLD = 'clientHold' - SERVER_HOLD = 'serverHold' - CLIENT_RENEW_PROHIBITED = 'clientRenewProhibited' - SERVER_RENEW_PROHIBITED = 'serverRenewProhibited' + + # Requests to transfer the object MUST be rejected. CLIENT_TRANSFER_PROHIBITED = 'clientTransferProhibited' SERVER_TRANSFER_PROHIBITED = 'serverTransferProhibited' + + # The contact object has at least one active association with + # another object, such as a domain object. Servers SHOULD provide + # services to determine existing object associations. + # "linked" status MAY be combined with any status. + LINKED = 'linked' + + # This is the normal status value for an object that has no pending + # operations or prohibitions. This value is set and removed by the + # server as other status values are added or removed. + # "ok" status MAY only be combined with "linked" status. + OK = 'ok' + + # Requests to update the object (other than to remove this status) MUST be rejected. 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' + # A transform command has been processed for the object, but the + # action has not been completed by the server. Server operators can + # delay action completion for a variety of reasons, such as to allow + # for human review or third-party action. A transform command that + # is processed, but whose requested action is pending, is noted with + # response code 1001. + # When the requested action has been completed, the pendingCreate, + # pendingDelete, pendingTransfer, or pendingUpdate status value MUST be + # removed. All clients involved in the transaction MUST be notified + # using a service message that the action has been completed and that + # the status of the object has changed. + # The pendingCreate, pendingDelete, pendingTransfer, and pendingUpdate + # status values MUST NOT be combined with each other. + PENDING_CREATE = 'pendingCreate' + # "pendingTransfer" status MUST NOT be combined with either + # "clientTransferProhibited" or "serverTransferProhibited" status. + PENDING_TRANSFER = 'pendingTransfer' + # "pendingUpdate" status MUST NOT be combined with either + # "clientUpdateProhibited" or "serverUpdateProhibited" status. + PENDING_UPDATE = 'pendingUpdate' + # "pendingDelete" MUST NOT be combined with either + # "clientDeleteProhibited" or "serverDeleteProhibited" status. + PENDING_DELETE = 'pendingDelete' STATUSES = [ - CLIENT_DELETE_PROHIBITED, SERVER_DELETE_PROHIBITED, CLIENT_HOLD, SERVER_HOLD, - CLIENT_RENEW_PROHIBITED, SERVER_RENEW_PROHIBITED, CLIENT_TRANSFER_PROHIBITED, + CLIENT_DELETE_PROHIBITED, SERVER_DELETE_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 + OK, PENDING_CREATE, PENDING_DELETE, PENDING_TRANSFER, + PENDING_UPDATE, LINKED ] CLIENT_STATUSES = [ - CLIENT_DELETE_PROHIBITED, CLIENT_HOLD, CLIENT_RENEW_PROHIBITED, CLIENT_TRANSFER_PROHIBITED, + CLIENT_DELETE_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 + SERVER_DELETE_PROHIBITED, SERVER_TRANSFER_PROHIBITED, + SERVER_UPDATE_PROHIBITED ] def epp_code_map