mirror of
https://github.com/internetee/registry.git
synced 2025-08-06 01:35:10 +02:00
Honor legacy contact codes
This commit is contained in:
parent
8b22c58eec
commit
834d638423
6 changed files with 74 additions and 47 deletions
|
@ -51,12 +51,15 @@ class Epp::Contact < Contact
|
|||
def new(frame, registrar)
|
||||
return super if frame.blank?
|
||||
|
||||
custom_code =
|
||||
if frame.css('id').text.present?
|
||||
"#{registrar.code}:#{frame.css('id').text.parameterize}"
|
||||
else
|
||||
nil
|
||||
custom_code = frame.css('id').text
|
||||
|
||||
# add prefix when needed
|
||||
if custom_code.present?
|
||||
prefix, custom = custom_code.split(':')
|
||||
if prefix != registrar.code && custom != registrar.code
|
||||
custom_code = "#{registrar.code}:#{custom_code}"
|
||||
end
|
||||
end
|
||||
|
||||
super(
|
||||
attrs_from(frame).merge(
|
||||
|
|
|
@ -13,8 +13,7 @@ class Registrar < ActiveRecord::Base
|
|||
belongs_to :country_deprecated, foreign_key: :country_id
|
||||
|
||||
validates :name, :reg_no, :country_code, :email, :code, presence: true
|
||||
validates :name, :reg_no, :reference_no, uniqueness: true
|
||||
validate :set_code, if: :new_record?
|
||||
validates :name, :reg_no, :reference_no, :code, uniqueness: true
|
||||
|
||||
before_validation :generate_iso_11649_reference_no
|
||||
def generate_iso_11649_reference_no
|
||||
|
@ -141,24 +140,4 @@ class Registrar < ActiveRecord::Base
|
|||
def code=(code)
|
||||
self[:code] = code.upcase if new_record? && code.present?
|
||||
end
|
||||
|
||||
def contact_prefix
|
||||
"CID:#{code}:"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_code
|
||||
return false if name.blank?
|
||||
new_code = name.parameterize
|
||||
|
||||
# ensure code is always uniq automatically for a new record
|
||||
seq = 1
|
||||
while self.class.find_by_code(new_code)
|
||||
new_code += seq.to_s
|
||||
seq += 1
|
||||
end
|
||||
|
||||
self.code = new_code
|
||||
end
|
||||
end
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
.col-md-4.control-label
|
||||
= f.label :code
|
||||
.col-md-7
|
||||
= f.text_field(:code, class: 'form-control')
|
||||
= f.text_field(:code, class: 'form-control', disabled: !f.object.new_record?)
|
||||
|
||||
%hr
|
||||
.row
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue