Refactor domain transfer query

This commit is contained in:
Martin Lensment 2015-03-11 12:46:39 +02:00
parent 876cd6e222
commit 6527000698
2 changed files with 18 additions and 13 deletions

View file

@ -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

View file

@ -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