mirror of
https://github.com/internetee/registry.git
synced 2025-07-03 09:43:36 +02:00
Merge branch 'staging' of github.com:internetee/registry into staging
This commit is contained in:
parent
6be6ca5a94
commit
40e74a2ed4
7 changed files with 65 additions and 33 deletions
|
@ -118,6 +118,11 @@ class Domain < ActiveRecord::Base
|
|||
validate :status_is_consistant
|
||||
def status_is_consistant
|
||||
has_error = (statuses.include?(DomainStatus::SERVER_HOLD) && statuses.include?(DomainStatus::SERVER_MANUAL_INZONE))
|
||||
unless has_error
|
||||
if (statuses & [DomainStatus::PENDING_DELETE_CONFIRMATION, DomainStatus::PENDING_DELETE, DomainStatus::FORCE_DELETE]).any?
|
||||
has_error = statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
end
|
||||
end
|
||||
errors.add(:domains, I18n.t(:object_status_prohibits_operation)) if has_error
|
||||
end
|
||||
|
||||
|
@ -445,22 +450,17 @@ class Domain < ActiveRecord::Base
|
|||
|
||||
# rubocop: disable Metrics/CyclomaticComplexity
|
||||
def registrant_update_confirmable?(token)
|
||||
return true if Rails.env.development?
|
||||
return false if (statuses & [DomainStatus::FORCE_DELETE, DomainStatus::DELETE_CANDIDATE]).any?
|
||||
return false unless pending_update?
|
||||
return false if registrant_verification_token.blank?
|
||||
return false if registrant_verification_asked_at.blank?
|
||||
return false if token.blank?
|
||||
return false if registrant_verification_token != token
|
||||
return false unless registrant_verification_asked?
|
||||
return false unless registrant_verification_token == token
|
||||
true
|
||||
end
|
||||
|
||||
def registrant_delete_confirmable?(token)
|
||||
return true if Rails.env.development?
|
||||
return false unless pending_delete?
|
||||
return false if registrant_verification_token.blank?
|
||||
return false if registrant_verification_asked_at.blank?
|
||||
return false if token.blank?
|
||||
return false if registrant_verification_token != token
|
||||
return false unless registrant_verification_asked?
|
||||
return false unless registrant_verification_token == token
|
||||
true
|
||||
end
|
||||
# rubocop: enable Metrics/CyclomaticComplexity
|
||||
|
@ -695,7 +695,7 @@ class Domain < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def pending_delete?
|
||||
statuses.include?(DomainStatus::PENDING_DELETE) && !statuses.include?(DomainStatus::FORCE_DELETE)
|
||||
(statuses & [DomainStatus::PENDING_DELETE_CONFIRMATION, DomainStatus::PENDING_DELETE]).any?
|
||||
end
|
||||
|
||||
def pending_delete_confirmation?
|
||||
|
|
|
@ -776,12 +776,12 @@ class Epp::Domain < Domain
|
|||
|
||||
### ABILITIES ###
|
||||
|
||||
# depricated -- this is redundant TODO: try to remove
|
||||
|
||||
def can_be_deleted?
|
||||
begin
|
||||
errors.add(:base, :domain_status_prohibits_operation)
|
||||
return false
|
||||
end if statuses.include?(DomainStatus::CLIENT_DELETE_PROHIBITED)
|
||||
end if (statuses & [DomainStatus::CLIENT_DELETE_PROHIBITED, DomainStatus::SERVER_DELETE_PROHIBITED]).any?
|
||||
|
||||
true
|
||||
end
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
- if (status == DomainStatus::PENDING_DELETE && f.object.pending_json.present?)
|
||||
= link_to(t(:apply_pending), admin_domain_pending_delete_path(f.object.id, f.object.id),
|
||||
- if (status == DomainStatus::PENDING_DELETE || status == DomainStatus::PENDING_DELETE_CONFIRMATION)
|
||||
= link_to(t(:accept_delete), admin_domain_pending_delete_path(f.object.id, f.object.id),
|
||||
method: :patch, data: { confirm: t(:are_you_sure) },
|
||||
class: 'btn btn-danger btn-xs')
|
||||
|
||||
= link_to(t(:delete_pending), admin_domain_pending_delete_path(f.object.id, f.object.id),
|
||||
= link_to(t(:reject_delete), admin_domain_pending_delete_path(f.object.id, f.object.id),
|
||||
method: :delete, data: { confirm: t(:are_you_sure) },
|
||||
class: 'btn btn-danger btn-xs')
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
.pull-left= t(:status)
|
||||
.pull-right
|
||||
- if model == 'domain'
|
||||
.hide-when-new
|
||||
= render 'admin/domains/form/pending_update', f: f, status: s
|
||||
= render 'admin/domains/form/pending_delete', f: f, status: s
|
||||
= link_to(t(:delete), '#', class: 'btn btn-danger btn-xs js-destroy-status', style: delete_style)
|
||||
|
@ -37,6 +38,7 @@
|
|||
if el.find('.js-disabled-value')
|
||||
el.find('.js-disabled-value').remove()
|
||||
el.find('.js-select').show()
|
||||
el.find('.hide-when-new').hide()
|
||||
el.find('.js-destroy-status').show()
|
||||
|
||||
$(document).on 'click', '.js-destroy-status', (e) ->
|
||||
|
|
|
@ -61,13 +61,7 @@ xml.epp_head do
|
|||
end
|
||||
|
||||
xml.extension do
|
||||
xml.tag!('secDNS:infData', 'xmlns:secDNS' => 'urn:ietf:params:xml:ns:secDNS-1.1') do
|
||||
@domain.dnskeys.sort.each do |key|
|
||||
xml.tag!('secDNS:dsData') do
|
||||
xml.tag!('secDNS:keyTag', key.ds_key_tag)
|
||||
xml.tag!('secDNS:alg', key.ds_alg)
|
||||
xml.tag!('secDNS:digestType', key.ds_digest_type)
|
||||
xml.tag!('secDNS:digest', key.ds_digest)
|
||||
def tag_key_data(xml, key)
|
||||
xml.tag!('secDNS:keyData') do
|
||||
xml.tag!('secDNS:flags', key.flags)
|
||||
xml.tag!('secDNS:protocol', key.protocol)
|
||||
|
@ -75,6 +69,27 @@ xml.epp_head do
|
|||
xml.tag!('secDNS:pubKey', key.public_key)
|
||||
end
|
||||
end
|
||||
|
||||
def tag_ds_data(xml, key)
|
||||
xml.tag!('secDNS:dsData') do
|
||||
xml.tag!('secDNS:keyTag', key.ds_key_tag)
|
||||
xml.tag!('secDNS:alg', key.ds_alg)
|
||||
xml.tag!('secDNS:digestType', key.ds_digest_type)
|
||||
xml.tag!('secDNS:digest', key.ds_digest)
|
||||
tag_key_data(xml, key) if key.public_key.present?
|
||||
end
|
||||
end
|
||||
|
||||
xml.tag!('secDNS:infData', 'xmlns:secDNS' => 'urn:ietf:params:xml:ns:secDNS-1.1') do
|
||||
# might not have ds in first key? maybe check any? k.ds_digest if requirements change (DS not accepted by EIS)
|
||||
if @domain.dnskeys[0].ds_digest.blank?
|
||||
@domain.dnskeys.sort.each do |key|
|
||||
tag_key_data(xml, key)
|
||||
end
|
||||
else
|
||||
@domain.dnskeys.sort.each do |key|
|
||||
tag_ds_data(xml, key)
|
||||
end
|
||||
end
|
||||
end
|
||||
end if @domain.dnskeys.any?
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
- if x.css('digest').text.present?
|
||||
%dt= t(:ds_digest)
|
||||
%dd= x.css('digest').text
|
||||
|
||||
- @data.css('keyData').each do |x|
|
||||
%dl.dl-horizontal
|
||||
%dt= t(:flag)
|
||||
%dd= x.css('flags').text
|
||||
|
||||
|
@ -27,7 +28,21 @@
|
|||
%dd= x.css('protocol').text
|
||||
|
||||
%dt= t(:algorithm)
|
||||
%dd= x.css('keyData > alg').text
|
||||
%dd= x.css('alg').text
|
||||
|
||||
%dt= t(:public_key)
|
||||
%dd= x.css('pubKey').text
|
||||
|
||||
- @data.css('keyData').each do |x|
|
||||
%dl.dl-horizontal
|
||||
%dt= t(:flag)
|
||||
%dd= x.css('flags').text
|
||||
|
||||
%dt= t(:protocol)
|
||||
%dd= x.css('protocol').text
|
||||
|
||||
%dt= t(:algorithm)
|
||||
%dd= x.css('alg').text
|
||||
|
||||
%dt= t(:public_key)
|
||||
%dd= x.css('pubKey').text
|
||||
|
|
|
@ -2444,9 +2444,9 @@ describe 'EPP Domain', epp: true do
|
|||
})
|
||||
|
||||
response = epp_plain_request(xml)
|
||||
response[:results][0][:msg].should start_with
|
||||
response[:results][0][:msg].should start_with(
|
||||
"Element '{https://epp.tld.ee/schema/domain-eis-1.0.xsd}status', attribute 's': "\
|
||||
"[facet 'enumeration'] The value 'invalidStatus' is not an element of the set "
|
||||
"[facet 'enumeration'] The value 'invalidStatus' is not an element of the set ")
|
||||
response[:results][0][:result_code].should == '2001'
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue