mirror of
https://github.com/internetee/registry.git
synced 2025-05-30 01:20:04 +02:00
Merge branch 'master' of github.com:domify/registry
This commit is contained in:
commit
8ed8687691
4 changed files with 165 additions and 111 deletions
|
@ -94,12 +94,26 @@ class Epp::ContactsController < EppController
|
||||||
'postalInfo > addr > pc', 'postalInfo > addr > cc', 'voice', 'email'
|
'postalInfo > addr > pc', 'postalInfo > addr > cc', 'voice', 'email'
|
||||||
)
|
)
|
||||||
ident = params[:parsed_frame].css('ident')
|
ident = params[:parsed_frame].css('ident')
|
||||||
|
|
||||||
|
if ident.present? && ident.attr('type').blank?
|
||||||
|
epp_errors << {
|
||||||
|
code: '2003',
|
||||||
|
msg: I18n.t('errors.messages.required_ident_attribute_missing', key: 'type')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
if ident.present? && ident.text != 'birthday' && ident.attr('cc').blank?
|
if ident.present? && ident.text != 'birthday' && ident.attr('cc').blank?
|
||||||
epp_errors << {
|
epp_errors << {
|
||||||
code: '2003',
|
code: '2003',
|
||||||
msg: I18n.t('errors.messages.required_attribute_missing', key: 'ident country code missing')
|
msg: I18n.t('errors.messages.required_ident_attribute_missing', key: 'cc')
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
# if ident.present? && ident.attr('cc').blank?
|
||||||
|
# epp_errors << {
|
||||||
|
# code: '2003',
|
||||||
|
# msg: I18n.t('errors.messages.required_ident_attribute_missing', key: 'cc')
|
||||||
|
# }
|
||||||
|
# end
|
||||||
contact_org_disabled
|
contact_org_disabled
|
||||||
fax_disabled
|
fax_disabled
|
||||||
status_editing_disabled
|
status_editing_disabled
|
||||||
|
|
|
@ -1,125 +1,126 @@
|
||||||
- children = HashWithIndifferentAccess.new(version.children)
|
- if version.present? && domain.present?
|
||||||
- nameservers = children[:nameservers] || []
|
- children = HashWithIndifferentAccess.new(version.children)
|
||||||
- tech_contacts = children[:tech_contacts] || []
|
- nameservers = children[:nameservers] || []
|
||||||
- admin_contacts = children[:admin_contacts] || []
|
- tech_contacts = children[:tech_contacts] || []
|
||||||
- registrant = children[:registrant] || []
|
- admin_contacts = children[:admin_contacts] || []
|
||||||
|
- registrant = children[:registrant] || []
|
||||||
|
|
||||||
%td
|
%td
|
||||||
%p.nowrap
|
%p.nowrap
|
||||||
= l(domain.updated_at, format: :short)
|
= l(domain.updated_at, format: :short)
|
||||||
= version.event
|
= version.event
|
||||||
%p.text-right
|
%p.text-right
|
||||||
= version.terminator
|
= version.terminator
|
||||||
|
|
||||||
%td
|
%td
|
||||||
%p
|
|
||||||
= "#{domain.period}#{domain.period_unit}"
|
|
||||||
= "#{l(domain.valid_from, format: :date)} - #{l(domain.valid_to, format: :date)}"
|
|
||||||
%p
|
|
||||||
= domain.status
|
|
||||||
|
|
||||||
%td
|
|
||||||
- registrant.each do |oc|
|
|
||||||
%p
|
%p
|
||||||
= oc[:name]
|
= "#{domain.period}#{domain.period_unit}"
|
||||||
= oc[:phone]
|
= "#{l(domain.valid_from, format: :date)} - #{l(domain.valid_to, format: :date)}"
|
||||||
= oc[:email]
|
|
||||||
%p
|
%p
|
||||||
= oc[:code]
|
= domain.status
|
||||||
|
|
||||||
%td
|
%td
|
||||||
- admin_contacts.each do |ac|
|
- registrant.each do |oc|
|
||||||
|
%p
|
||||||
|
= oc[:name]
|
||||||
|
= oc[:phone]
|
||||||
|
= oc[:email]
|
||||||
|
%p
|
||||||
|
= oc[:code]
|
||||||
|
|
||||||
|
%td
|
||||||
|
- admin_contacts.each do |ac|
|
||||||
|
%p
|
||||||
|
= ac[:name]
|
||||||
|
= ac[:phone]
|
||||||
|
= ac[:email]
|
||||||
|
%p
|
||||||
|
= ac[:code]
|
||||||
|
|
||||||
|
%td
|
||||||
|
- tech_contacts.each do |tc|
|
||||||
|
%p
|
||||||
|
= tc[:name]
|
||||||
|
= tc[:phone]
|
||||||
|
= tc[:email]
|
||||||
|
%p
|
||||||
|
= tc[:code]
|
||||||
|
|
||||||
|
%td
|
||||||
|
- nameservers.each do |ns|
|
||||||
|
%p
|
||||||
|
= ns[:hostname]
|
||||||
|
%br
|
||||||
|
= ns[:ipv4]
|
||||||
|
= ns[:ipv6]
|
||||||
|
|
||||||
|
%td
|
||||||
%p
|
%p
|
||||||
= ac[:name]
|
= domain.registrar.name
|
||||||
= ac[:phone]
|
|
||||||
= ac[:email]
|
|
||||||
%p
|
|
||||||
= ac[:code]
|
|
||||||
|
|
||||||
%td
|
-# %td
|
||||||
- tech_contacts.each do |tc|
|
-# = version.children.inspect
|
||||||
%p
|
|
||||||
= tc[:name]
|
|
||||||
= tc[:phone]
|
|
||||||
= tc[:email]
|
|
||||||
%p
|
|
||||||
= tc[:code]
|
|
||||||
|
|
||||||
%td
|
-# %td{ class: changes.include?(:domain) ? 'edit-highlight' : 'no-highlight' }
|
||||||
- nameservers.each do |ns|
|
-# - if children[:domain]
|
||||||
%p
|
|
||||||
= ns[:hostname]
|
|
||||||
%br
|
|
||||||
= ns[:ipv4]
|
|
||||||
= ns[:ipv6]
|
|
||||||
|
|
||||||
%td
|
|
||||||
%p
|
|
||||||
= domain.registrar.name
|
|
||||||
|
|
||||||
-# %td
|
|
||||||
-# = version.children.inspect
|
|
||||||
|
|
||||||
-# %td{ class: changes.include?(:domain) ? 'edit-highlight' : 'no-highlight' }
|
|
||||||
-# - if children[:domain]
|
|
||||||
-# %p{:style => "font-size:x-small;"}
|
|
||||||
-# = children[:domain][:period]
|
|
||||||
-# = children[:domain][:period_unit] if children[:domain][:period]
|
|
||||||
-# - if children[:domain][:valid_to] && children[:domain][:valid_from]
|
|
||||||
-# = ","
|
|
||||||
-# = l(children[:domain][:valid_from], format: :date) + '-' + l(children[:domain][:valid_to], format: :date)
|
|
||||||
-# - if children[:domain].try(:[], :registrar_id)
|
|
||||||
-# = ","
|
|
||||||
-# = Registrar.find(children[:domain][:registrar_id]).try(:name)
|
|
||||||
-# - if children[:domain][:status]
|
|
||||||
-# = ',' + children[:domain][:status]
|
|
||||||
|
|
||||||
|
|
||||||
-# %td{ class: changes.include?(:registrant) ? 'edit-highlight' : 'no-highlight' }
|
|
||||||
-# - if children[:registrant]
|
|
||||||
-# %p{:style => "font-size:x-small;"}
|
|
||||||
-# = children[:registrant][:name]
|
|
||||||
-# = ","
|
|
||||||
-# = children[:registrant][:phone]
|
|
||||||
-# = ","
|
|
||||||
-# = children[:registrant][:email]
|
|
||||||
-# = ","
|
|
||||||
-# = children[:registrant][:code]
|
|
||||||
|
|
||||||
-# %td{ class: changes.include?(:admin_contacts) ? 'edit-highlight' : 'no-highlight' }
|
|
||||||
-# - if children[:admin_contacts]
|
|
||||||
-# - children[:admin_contacts].each do |ac|
|
|
||||||
-# %p{:style => "font-size:x-small;"}
|
-# %p{:style => "font-size:x-small;"}
|
||||||
-# = ac[:name]
|
-# = children[:domain][:period]
|
||||||
-# = ","
|
-# = children[:domain][:period_unit] if children[:domain][:period]
|
||||||
-# = ac[:phone]
|
-# - if children[:domain][:valid_to] && children[:domain][:valid_from]
|
||||||
-# = ","
|
-# = ","
|
||||||
-# = ac[:email]
|
-# = l(children[:domain][:valid_from], format: :date) + '-' + l(children[:domain][:valid_to], format: :date)
|
||||||
-# = ","
|
-# - if children[:domain].try(:[], :registrar_id)
|
||||||
-# = ac[:code]
|
-# = ","
|
||||||
|
-# = Registrar.find(children[:domain][:registrar_id]).try(:name)
|
||||||
|
-# - if children[:domain][:status]
|
||||||
|
-# = ',' + children[:domain][:status]
|
||||||
|
|
||||||
-# %td{ class: changes.include?(:tech_contacts) ? 'edit-highlight' : 'no-highlight' }
|
|
||||||
-# - if children[:tech_contacts]
|
-# %td{ class: changes.include?(:registrant) ? 'edit-highlight' : 'no-highlight' }
|
||||||
-# - children[:tech_contacts].each do |tc|
|
-# - if children[:registrant]
|
||||||
-# %p{:style => "font-size:x-small;"}
|
-# %p{:style => "font-size:x-small;"}
|
||||||
-# = tc[:name]
|
-# = children[:registrant][:name]
|
||||||
-# = ","
|
-# = ","
|
||||||
-# = tc[:phone]
|
-# = children[:registrant][:phone]
|
||||||
-# = ","
|
-# = ","
|
||||||
-# = tc[:email]
|
-# = children[:registrant][:email]
|
||||||
-# = ","
|
-# = ","
|
||||||
-# = tc[:code]
|
-# = children[:registrant][:code]
|
||||||
|
|
||||||
-# %td{ class: changes.include?(:nameservers) ? 'edit-highlight' : 'no-highlight' }
|
-# %td{ class: changes.include?(:admin_contacts) ? 'edit-highlight' : 'no-highlight' }
|
||||||
-# - if children[:nameservers]
|
-# - if children[:admin_contacts]
|
||||||
-# - children[:nameservers].each do |ns|
|
-# - children[:admin_contacts].each do |ac|
|
||||||
-# %p{:style => "font-size:x-small;"}
|
-# %p{:style => "font-size:x-small;"}
|
||||||
-# = ns[:hostname]
|
-# = ac[:name]
|
||||||
-# = ","
|
-# = ","
|
||||||
-# = ns[:ipv4] || ns[:ipv6]
|
-# = ac[:phone]
|
||||||
|
-# = ","
|
||||||
|
-# = ac[:email]
|
||||||
|
-# = ","
|
||||||
|
-# = ac[:code]
|
||||||
|
|
||||||
-# %td
|
-# %td{ class: changes.include?(:tech_contacts) ? 'edit-highlight' : 'no-highlight' }
|
||||||
-# %p{ :style => 'font-size:x-small;' }
|
-# - if children[:tech_contacts]
|
||||||
-# = l(version.created_at, format: :short)
|
-# - children[:tech_contacts].each do |tc|
|
||||||
-# = whodunnit_with_protocol(version.whodunnit)
|
-# %p{:style => "font-size:x-small;"}
|
||||||
-# = version.event
|
-# = tc[:name]
|
||||||
|
-# = ","
|
||||||
|
-# = tc[:phone]
|
||||||
|
-# = ","
|
||||||
|
-# = tc[:email]
|
||||||
|
-# = ","
|
||||||
|
-# = tc[:code]
|
||||||
|
|
||||||
|
-# %td{ class: changes.include?(:nameservers) ? 'edit-highlight' : 'no-highlight' }
|
||||||
|
-# - if children[:nameservers]
|
||||||
|
-# - children[:nameservers].each do |ns|
|
||||||
|
-# %p{:style => "font-size:x-small;"}
|
||||||
|
-# = ns[:hostname]
|
||||||
|
-# = ","
|
||||||
|
-# = ns[:ipv4] || ns[:ipv6]
|
||||||
|
|
||||||
|
-# %td
|
||||||
|
-# %p{ :style => 'font-size:x-small;' }
|
||||||
|
-# = l(version.created_at, format: :short)
|
||||||
|
-# = whodunnit_with_protocol(version.whodunnit)
|
||||||
|
-# = version.event
|
||||||
|
|
|
@ -256,7 +256,7 @@ en:
|
||||||
invalid_type: 'PostalInfo type is invalid'
|
invalid_type: 'PostalInfo type is invalid'
|
||||||
unimplemented_command: 'Unimplemented command'
|
unimplemented_command: 'Unimplemented command'
|
||||||
domain_exists_but_belongs_to_other_registrar: 'Domain exists but belongs to other registrar'
|
domain_exists_but_belongs_to_other_registrar: 'Domain exists but belongs to other registrar'
|
||||||
required_attribute_missing: Required attributes missing
|
required_ident_attribute_missing: "Required ident attribute missing: %{key}"
|
||||||
|
|
||||||
code: 'Code'
|
code: 'Code'
|
||||||
value: 'Value'
|
value: 'Value'
|
||||||
|
|
|
@ -170,12 +170,26 @@ describe 'EPP Contact', epp: true do
|
||||||
Contact.last.code.should == 'FIRST0:ABC:ABC:12345'
|
Contact.last.code.should == 'FIRST0:ABC:ABC:12345'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should add registrar prefix for code when missing' do
|
||||||
|
response = create_request({ id: { value: 'abc:ABC:12345' } })
|
||||||
|
response[:msg].should == 'Command completed successfully'
|
||||||
|
response[:result_code].should == '1000'
|
||||||
|
|
||||||
|
Contact.last.code.should == 'FIRST0:ABC:ABC:12345'
|
||||||
|
end
|
||||||
|
|
||||||
it 'should not allow spaces in custom code' do
|
it 'should not allow spaces in custom code' do
|
||||||
response = create_request({ id: { value: 'abc 123' } })
|
response = create_request({ id: { value: 'abc 123' } })
|
||||||
response[:msg].should == 'is invalid [code]'
|
response[:msg].should == 'is invalid [code]'
|
||||||
response[:result_code].should == '2005'
|
response[:result_code].should == '2005'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
fit 'should not allow spaces in custom code' do
|
||||||
|
response = create_request({ id: { value: '1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' } })
|
||||||
|
response[:msg].should == 'is invalid [code]'
|
||||||
|
response[:result_code].should == '2005'
|
||||||
|
end
|
||||||
|
|
||||||
it 'should not saves ident type with wrong country code' do
|
it 'should not saves ident type with wrong country code' do
|
||||||
extension = {
|
extension = {
|
||||||
ident: {
|
ident: {
|
||||||
|
@ -189,6 +203,31 @@ describe 'EPP Contact', epp: true do
|
||||||
response[:result_code].should == '2005'
|
response[:result_code].should == '2005'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should return country missing' do
|
||||||
|
extension = {
|
||||||
|
ident: {
|
||||||
|
value: '1990-22-12',
|
||||||
|
attrs: { type: 'birthday' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
response = create_request({}, extension, validate_input: false)
|
||||||
|
response[:msg].should ==
|
||||||
|
'Required ident attribute missing: cc'
|
||||||
|
response[:result_code].should == '2003'
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should return country missing' do
|
||||||
|
extension = {
|
||||||
|
ident: {
|
||||||
|
value: '1990-22-12'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
response = create_request({}, extension, validate_input: false)
|
||||||
|
response[:msg].should ==
|
||||||
|
'Required ident attribute missing: type'
|
||||||
|
response[:result_code].should == '2003'
|
||||||
|
end
|
||||||
|
|
||||||
it 'should add registrar prefix for code when legacy prefix present' do
|
it 'should add registrar prefix for code when legacy prefix present' do
|
||||||
response = create_request({ id: { value: 'CID:FIRST0:abc:ABC:NEW:12345' } })
|
response = create_request({ id: { value: 'CID:FIRST0:abc:ABC:NEW:12345' } })
|
||||||
response[:msg].should == 'Command completed successfully'
|
response[:msg].should == 'Command completed successfully'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue