mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 09:57:23 +02:00
Merge branch 'master' of github.com:domify/registry
This commit is contained in:
commit
ffb1ab6521
8 changed files with 24 additions and 18 deletions
|
@ -57,6 +57,7 @@ class Admin::AdminUsersController < AdminController
|
||||||
end
|
end
|
||||||
|
|
||||||
def admin_user_params
|
def admin_user_params
|
||||||
params.require(:admin_user).permit(:username, :password, :password_confirmation, :identity_code, :email, :country_code, { roles: [] })
|
params.require(:admin_user).permit(:username,
|
||||||
|
:password, :password_confirmation, :identity_code, :email, :country_code, { roles: [] })
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -70,7 +70,7 @@ class Domain < ActiveRecord::Base
|
||||||
after_save :update_whois_record
|
after_save :update_whois_record
|
||||||
|
|
||||||
validates :name_dirty, domain_name: true, uniqueness: true
|
validates :name_dirty, domain_name: true, uniqueness: true
|
||||||
validates :name_puny, length: { maximum: 66 }
|
validates :puny_label, length: { maximum: 63 }
|
||||||
validates :period, numericality: { only_integer: true }
|
validates :period, numericality: { only_integer: true }
|
||||||
validates :registrant, :registrar, presence: true
|
validates :registrant, :registrar, presence: true
|
||||||
|
|
||||||
|
@ -166,6 +166,10 @@ class Domain < ActiveRecord::Base
|
||||||
"EIS-#{id}"
|
"EIS-#{id}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def puny_label
|
||||||
|
name_puny.to_s.split('.').first
|
||||||
|
end
|
||||||
|
|
||||||
def registrant_typeahead
|
def registrant_typeahead
|
||||||
@registrant_typeahead || registrant.try(:name) || nil
|
@registrant_typeahead || registrant.try(:name) || nil
|
||||||
end
|
end
|
||||||
|
|
|
@ -55,7 +55,7 @@ class Epp::Domain < Domain
|
||||||
],
|
],
|
||||||
'2005' => [ # Parameter value syntax error
|
'2005' => [ # Parameter value syntax error
|
||||||
[:name_dirty, :invalid, { obj: 'name', val: name_dirty }],
|
[:name_dirty, :invalid, { obj: 'name', val: name_dirty }],
|
||||||
[:name_puny, :too_long, { obj: 'name', val: name_puny }]
|
[:puny_label, :too_long, { obj: 'name', val: name_puny }]
|
||||||
],
|
],
|
||||||
'2201' => [ # Authorisation error
|
'2201' => [ # Authorisation error
|
||||||
[:auth_info, :wrong_pw]
|
[:auth_info, :wrong_pw]
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
class DomainNameValidator < ActiveModel::EachValidator
|
class DomainNameValidator < ActiveModel::EachValidator
|
||||||
# TODO
|
|
||||||
# validates lenght of 2-63
|
|
||||||
# validates/honours Estonian additional letters zäõüö
|
|
||||||
# honours punicode and all interfces honors utf8
|
|
||||||
# validates lower level domains (.pri.ee, edu.ee etc)
|
|
||||||
# lower level domains are fixed for .ee and can add statically into settings
|
|
||||||
|
|
||||||
def validate_each(record, attribute, value)
|
def validate_each(record, attribute, value)
|
||||||
if !self.class.validate_format(value)
|
if !self.class.validate_format(value)
|
||||||
record.errors[attribute] << (options[:message] || record.errors.generate_message(attribute, :invalid))
|
record.errors[attribute] << (options[:message] || record.errors.generate_message(attribute, :invalid))
|
||||||
|
|
|
@ -4,7 +4,7 @@ module I18n
|
||||||
class << self
|
class << self
|
||||||
alias_method :original_localize, :localize
|
alias_method :original_localize, :localize
|
||||||
|
|
||||||
def localize object, options = {}
|
def localize(object, options = {})
|
||||||
object.present? ? original_localize(object, options) : ''
|
object.present? ? original_localize(object, options) : ''
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -64,7 +64,7 @@ en:
|
||||||
invalid: 'Domain name is invalid'
|
invalid: 'Domain name is invalid'
|
||||||
reserved: 'Domain name is reserved or restricted'
|
reserved: 'Domain name is reserved or restricted'
|
||||||
taken: 'Domain name already exists'
|
taken: 'Domain name already exists'
|
||||||
name_puny:
|
puny_label:
|
||||||
too_long: 'Domain name is too long (maximum is 63 characters)'
|
too_long: 'Domain name is too long (maximum is 63 characters)'
|
||||||
registrant:
|
registrant:
|
||||||
blank: 'Registrant is missing'
|
blank: 'Registrant is missing'
|
||||||
|
|
|
@ -193,7 +193,7 @@ describe 'EPP Domain', epp: true do
|
||||||
xml = domain_create_xml(name: { value: "#{'ä' * 63}.ee" })
|
xml = domain_create_xml(name: { value: "#{'ä' * 63}.ee" })
|
||||||
|
|
||||||
response = epp_plain_request(xml)
|
response = epp_plain_request(xml)
|
||||||
response[:msg].should == 'Domain name is too long (maximum is 63 characters) [name_puny]'
|
response[:msg].should == 'Domain name is too long (maximum is 63 characters) [puny_label]'
|
||||||
response[:result_code].should == '2005'
|
response[:result_code].should == '2005'
|
||||||
response[:clTRID].should == 'ABC-12345'
|
response[:clTRID].should == 'ABC-12345'
|
||||||
end
|
end
|
||||||
|
|
|
@ -248,7 +248,7 @@ describe Domain do
|
||||||
d.valid?
|
d.valid?
|
||||||
d.errors.full_messages.should match_array([
|
d.errors.full_messages.should match_array([
|
||||||
"Domain name Domain name is invalid",
|
"Domain name Domain name is invalid",
|
||||||
"Domain name Domain name is too long (maximum is 63 characters)"
|
"Puny label is too long (maximum is 63 characters)"
|
||||||
])
|
])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -258,7 +258,15 @@ describe Domain do
|
||||||
d.valid?
|
d.valid?
|
||||||
d.errors.full_messages.should match_array([
|
d.errors.full_messages.should match_array([
|
||||||
"Domain name Domain name is invalid",
|
"Domain name Domain name is invalid",
|
||||||
"Domain name Domain name is too long (maximum is 63 characters)"
|
"Puny label is too long (maximum is 63 characters)"
|
||||||
|
])
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should be valid when name length is 63 characters' do
|
||||||
|
d = Fabricate.build(:domain,
|
||||||
|
name: "õäöüšžõäöüšžõäöüšžõäöüšžõäöüšžõäöüšžõäöüšžab123.pri.ee")
|
||||||
|
d.valid?
|
||||||
|
d.errors.full_messages.should match_array([
|
||||||
])
|
])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -266,7 +274,7 @@ describe Domain do
|
||||||
d = Fabricate.build(:domain, name: "#{'ä' * 63}.ee")
|
d = Fabricate.build(:domain, name: "#{'ä' * 63}.ee")
|
||||||
d.valid?
|
d.valid?
|
||||||
d.errors.full_messages.should == [
|
d.errors.full_messages.should == [
|
||||||
"Domain name Domain name is too long (maximum is 63 characters)"
|
"Puny label is too long (maximum is 63 characters)"
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -275,7 +283,7 @@ describe Domain do
|
||||||
d.valid?
|
d.valid?
|
||||||
d.errors.full_messages.should match_array([
|
d.errors.full_messages.should match_array([
|
||||||
"Domain name Domain name is invalid",
|
"Domain name Domain name is invalid",
|
||||||
"Domain name Domain name is too long (maximum is 63 characters)"
|
"Puny label is too long (maximum is 63 characters)"
|
||||||
])
|
])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -283,7 +291,7 @@ describe Domain do
|
||||||
d = Fabricate.build(:domain, name: "#{'ä' * 63}.pri.ee")
|
d = Fabricate.build(:domain, name: "#{'ä' * 63}.pri.ee")
|
||||||
d.valid?
|
d.valid?
|
||||||
d.errors.full_messages.should match_array([
|
d.errors.full_messages.should match_array([
|
||||||
"Domain name Domain name is too long (maximum is 63 characters)"
|
"Puny label is too long (maximum is 63 characters)"
|
||||||
])
|
])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue