mirror of
https://github.com/internetee/registry.git
synced 2025-07-25 12:08:27 +02:00
disallow CID for registrar code and fix double code check
This commit is contained in:
parent
c27de39a15
commit
1f504e08ea
5 changed files with 36 additions and 7 deletions
|
@ -27,7 +27,7 @@ class Contact < ActiveRecord::Base
|
|||
validate :ident_valid_format?
|
||||
|
||||
before_validation :set_ident_country_code
|
||||
before_create :update_code
|
||||
before_validation :prefix_code
|
||||
before_create :generate_auth_info
|
||||
after_save :manage_statuses
|
||||
def manage_statuses
|
||||
|
@ -126,7 +126,8 @@ class Contact < ActiveRecord::Base
|
|||
self[:code] = code if new_record? # cannot change code later
|
||||
end
|
||||
|
||||
def update_code
|
||||
def prefix_code
|
||||
return nil if registrar.blank?
|
||||
code = self[:code]
|
||||
|
||||
# custom code from client
|
||||
|
@ -135,7 +136,6 @@ class Contact < ActiveRecord::Base
|
|||
code.sub!(/^CID:/, '')
|
||||
prefix, *custom_code = code.split(':')
|
||||
code = custom_code.join(':') if prefix == registrar.code
|
||||
code = nil if code == registrar.code
|
||||
end
|
||||
|
||||
code = SecureRandom.hex(4) if code.blank? || code == registrar.code
|
||||
|
@ -143,7 +143,7 @@ class Contact < ActiveRecord::Base
|
|||
self[:code] = "#{registrar.code}:#{code}".upcase
|
||||
end
|
||||
|
||||
# used only for contact trasfere
|
||||
# used only for contact trasphere
|
||||
def generate_new_code!
|
||||
return nil if registrar.blank?
|
||||
registrar.reload # for contact transfere
|
||||
|
|
|
@ -14,6 +14,12 @@ class Registrar < ActiveRecord::Base
|
|||
|
||||
validates :name, :reg_no, :country_code, :email, :code, presence: true
|
||||
validates :name, :reg_no, :reference_no, :code, uniqueness: true
|
||||
validate :forbidden_codes
|
||||
def forbidden_codes
|
||||
return true unless ['CID'].include? code
|
||||
errors.add(:code, I18n.t(:forbidden_code))
|
||||
false
|
||||
end
|
||||
|
||||
before_validation :generate_iso_11649_reference_no
|
||||
def generate_iso_11649_reference_no
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue