mirror of
https://github.com/internetee/registry.git
synced 2025-08-16 06:23:57 +02:00
Refactor domain transfer query
This commit is contained in:
parent
876cd6e222
commit
6527000698
2 changed files with 18 additions and 13 deletions
|
@ -13,6 +13,16 @@ class DomainTransfer < ActiveRecord::Base
|
||||||
SERVER_CANCELLED = 'serverCancelled'
|
SERVER_CANCELLED = 'serverCancelled'
|
||||||
|
|
||||||
before_create :set_wait_until
|
before_create :set_wait_until
|
||||||
|
before_create :set_status
|
||||||
|
|
||||||
|
def set_status
|
||||||
|
if Setting.transfer_wait_time > 0
|
||||||
|
self.status = PENDING unless status
|
||||||
|
else
|
||||||
|
self.status = SERVER_APPROVED unless status
|
||||||
|
self.transferred_at = Time.zone.now unless transferred_at
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
delegate :name, :valid_to, to: :domain, prefix: true
|
delegate :name, :valid_to, to: :domain, prefix: true
|
||||||
|
|
||||||
|
@ -26,6 +36,10 @@ class DomainTransfer < ActiveRecord::Base
|
||||||
status == CLIENT_APPROVED || status == SERVER_APPROVED
|
status == CLIENT_APPROVED || status == SERVER_APPROVED
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def pending?
|
||||||
|
status == PENDING
|
||||||
|
end
|
||||||
|
|
||||||
def approve_as_client
|
def approve_as_client
|
||||||
transaction do
|
transaction do
|
||||||
self.status = DomainTransfer::CLIENT_APPROVED
|
self.status = DomainTransfer::CLIENT_APPROVED
|
||||||
|
|
|
@ -408,31 +408,22 @@ class Epp::Domain < Domain
|
||||||
|
|
||||||
transaction do
|
transaction do
|
||||||
begin
|
begin
|
||||||
if Setting.transfer_wait_time > 0
|
dt = domain_transfers.create!(
|
||||||
dt = domain_transfers.create!(
|
|
||||||
status: DomainTransfer::PENDING,
|
|
||||||
transfer_requested_at: Time.zone.now,
|
transfer_requested_at: Time.zone.now,
|
||||||
transfer_to: current_user.registrar,
|
transfer_to: current_user.registrar,
|
||||||
transfer_from: registrar
|
transfer_from: registrar
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if dt.pending?
|
||||||
registrar.messages.create!(
|
registrar.messages.create!(
|
||||||
body: I18n.t('transfer_requested'),
|
body: I18n.t('transfer_requested'),
|
||||||
attached_obj_id: dt.id,
|
attached_obj_id: dt.id,
|
||||||
attached_obj_type: dt.class.to_s
|
attached_obj_type: dt.class.to_s
|
||||||
)
|
)
|
||||||
|
end
|
||||||
|
|
||||||
else
|
if dt.approved?
|
||||||
dt = domain_transfers.create!(
|
|
||||||
status: DomainTransfer::SERVER_APPROVED,
|
|
||||||
transfer_requested_at: Time.zone.now,
|
|
||||||
transferred_at: Time.zone.now,
|
|
||||||
transfer_to: current_user.registrar,
|
|
||||||
transfer_from: registrar
|
|
||||||
)
|
|
||||||
|
|
||||||
generate_auth_info
|
generate_auth_info
|
||||||
|
|
||||||
self.registrar = current_user.registrar
|
self.registrar = current_user.registrar
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue