mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
Merge branch 'master' of github.com:internetee/registry
This commit is contained in:
commit
23d24aad84
4 changed files with 34 additions and 12 deletions
|
@ -63,7 +63,7 @@ module Epp::DomainsHelper
|
||||||
@domain = find_domain
|
@domain = find_domain
|
||||||
|
|
||||||
handle_errors(@domain) and return unless @domain
|
handle_errors(@domain) and return unless @domain
|
||||||
handle_errors(@domain) and return unless @domain.transfer(@ph[:authInfo][:pw], current_epp_user)
|
handle_errors(@domain) and return unless @domain.transfer(domain_transfer_params)
|
||||||
|
|
||||||
render '/epp/domains/transfer'
|
render '/epp/domains/transfer'
|
||||||
end
|
end
|
||||||
|
@ -95,6 +95,14 @@ module Epp::DomainsHelper
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def domain_transfer_params
|
||||||
|
res = {}
|
||||||
|
res[:pw] = parsed_frame.css('pw').first.try(:text)
|
||||||
|
res[:action] = parsed_frame.css('transfer').first[:op]
|
||||||
|
res[:current_user] = current_epp_user
|
||||||
|
res
|
||||||
|
end
|
||||||
|
|
||||||
## RENEW
|
## RENEW
|
||||||
def validate_domain_renew_request
|
def validate_domain_renew_request
|
||||||
@ph = params_hash['epp']['command']['renew']['renew']
|
@ph = params_hash['epp']['command']['renew']['renew']
|
||||||
|
|
|
@ -73,8 +73,7 @@ class Contact < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def auth_info_matches(pw)
|
def auth_info_matches(pw)
|
||||||
return true if auth_info == pw
|
auth_info == pw
|
||||||
false
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Find a way to use self.domains with contact
|
# Find a way to use self.domains with contact
|
||||||
|
|
|
@ -205,9 +205,12 @@ class Domain < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
### TRANSFER ###
|
### TRANSFER ###
|
||||||
def transfer(pw, current_user)
|
def transfer(params)
|
||||||
return false unless authenticate(pw)
|
return false unless authenticate(params[:pw])
|
||||||
return true if pending_transfer
|
|
||||||
|
if pending_transfer && params[:action] == 'approve'
|
||||||
|
approve_pending_transfer and return true
|
||||||
|
end
|
||||||
|
|
||||||
wait_time = SettingGroup.domain_general.setting(:transfer_wait_time).value.to_i
|
wait_time = SettingGroup.domain_general.setting(:transfer_wait_time).value.to_i
|
||||||
|
|
||||||
|
@ -215,7 +218,7 @@ class Domain < ActiveRecord::Base
|
||||||
domain_transfers.create(
|
domain_transfers.create(
|
||||||
status: DomainTransfer::PENDING,
|
status: DomainTransfer::PENDING,
|
||||||
transfer_requested_at: Time.zone.now,
|
transfer_requested_at: Time.zone.now,
|
||||||
transfer_to: current_user.registrar,
|
transfer_to: params[:current_user].registrar,
|
||||||
transfer_from: registrar
|
transfer_from: registrar
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
|
@ -223,15 +226,26 @@ class Domain < ActiveRecord::Base
|
||||||
status: DomainTransfer::SERVER_APPROVED,
|
status: DomainTransfer::SERVER_APPROVED,
|
||||||
transfer_requested_at: Time.zone.now,
|
transfer_requested_at: Time.zone.now,
|
||||||
transferred_at: Time.zone.now,
|
transferred_at: Time.zone.now,
|
||||||
transfer_to: current_user.registrar,
|
transfer_to: params[:current_user].registrar,
|
||||||
transfer_from: registrar
|
transfer_from: registrar
|
||||||
)
|
)
|
||||||
|
|
||||||
self.registrar = current_user.registrar
|
self.registrar = params[:current_user].registrar
|
||||||
save
|
save
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def approve_pending_transfer
|
||||||
|
p = pending_transfer
|
||||||
|
p.update(
|
||||||
|
status: DomainTransfer::CLIENT_APPROVED,
|
||||||
|
transferred_at: Time.zone.now
|
||||||
|
)
|
||||||
|
|
||||||
|
self.registrar = p.transfer_to
|
||||||
|
save
|
||||||
|
end
|
||||||
|
|
||||||
def pending_transfer
|
def pending_transfer
|
||||||
domain_transfers.find_by(status: DomainTransfer::PENDING)
|
domain_transfers.find_by(status: DomainTransfer::PENDING)
|
||||||
end
|
end
|
||||||
|
|
|
@ -84,7 +84,7 @@ describe 'EPP Domain', epp: true do
|
||||||
expect(trn_data.css('exDate').text).to eq(d.valid_to.to_time.utc.to_s)
|
expect(trn_data.css('exDate').text).to eq(d.valid_to.to_time.utc.to_s)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'approves the transfer request', pending: true do
|
it 'approves the transfer request' do
|
||||||
s = Setting.find_by(code: 'transfer_wait_time')
|
s = Setting.find_by(code: 'transfer_wait_time')
|
||||||
s.update(value: 1)
|
s.update(value: 1)
|
||||||
|
|
||||||
|
@ -93,12 +93,13 @@ describe 'EPP Domain', epp: true do
|
||||||
response = epp_request(xml, :xml)
|
response = epp_request(xml, :xml)
|
||||||
trn_data = response[:parsed].css('trnData')
|
trn_data = response[:parsed].css('trnData')
|
||||||
d = Domain.first
|
d = Domain.first
|
||||||
|
dtl = d.domain_transfers.last
|
||||||
|
|
||||||
expect(trn_data.css('name').text).to eq('example.ee')
|
expect(trn_data.css('name').text).to eq('example.ee')
|
||||||
expect(trn_data.css('trStatus').text).to eq('serverApproved')
|
expect(trn_data.css('trStatus').text).to eq('clientApproved')
|
||||||
expect(trn_data.css('reID').text).to eq('10577829')
|
expect(trn_data.css('reID').text).to eq('10577829')
|
||||||
expect(trn_data.css('reDate').text).to eq(dtl.transfer_requested_at.to_time.utc.to_s)
|
expect(trn_data.css('reDate').text).to eq(dtl.transfer_requested_at.to_time.utc.to_s)
|
||||||
expect(trn_data.css('acID').text).to eq('10577829')
|
expect(trn_data.css('acID').text).to eq('123')
|
||||||
expect(trn_data.css('exDate').text).to eq(d.valid_to.to_time.utc.to_s)
|
expect(trn_data.css('exDate').text).to eq(d.valid_to.to_time.utc.to_s)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue