mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
Generate contact code manually
Generate contact's code explicitly on contact:create epp request and domain transfer. Remove callback.
This commit is contained in:
parent
cefd310cc0
commit
183c2bb82c
4 changed files with 18 additions and 21 deletions
|
@ -21,14 +21,15 @@ class Epp::ContactsController < EppController
|
|||
@contact = Epp::Contact.new(frame, current_user.registrar)
|
||||
|
||||
@contact.add_legal_file_to_new(frame)
|
||||
@contact.generate_code
|
||||
|
||||
if @contact.save
|
||||
@response_code = if Contact.address_processing?
|
||||
1000
|
||||
else
|
||||
frame.css('postalInfo addr').size != 0 ? 1100 : 1000
|
||||
end
|
||||
|
||||
if @contact.save
|
||||
render_epp_response '/epp/contacts/create'
|
||||
else
|
||||
handle_errors(@contact)
|
||||
|
|
|
@ -45,7 +45,6 @@ class Contact < ActiveRecord::Base
|
|||
end
|
||||
|
||||
before_validation :to_upcase_country_code
|
||||
before_validation :prefix_code
|
||||
before_validation :strip_email
|
||||
before_create :generate_auth_info
|
||||
|
||||
|
@ -366,7 +365,7 @@ class Contact < ActiveRecord::Base
|
|||
end
|
||||
|
||||
# rubocop:disable Metrics/CyclomaticComplexity
|
||||
def prefix_code
|
||||
def generate_code
|
||||
return nil unless new_record?
|
||||
return nil if registrar.blank?
|
||||
code = self[:code]
|
||||
|
|
|
@ -646,7 +646,7 @@ class Epp::Domain < Domain
|
|||
oc.code = nil
|
||||
oc.registrar_id = registrar_id
|
||||
oc.copy_from_id = c.id
|
||||
oc.prefix_code
|
||||
oc.generate_code
|
||||
oc.domain_transfer = true
|
||||
oc.save!(validate: false)
|
||||
oc
|
||||
|
|
|
@ -164,7 +164,10 @@ RSpec.describe Contact do
|
|||
|
||||
it 'should have code' do
|
||||
registrar = Fabricate.create(:registrar, code: 'registrarcode')
|
||||
contact = Fabricate.create(:contact, registrar: registrar, code: 'contactcode')
|
||||
|
||||
contact = Fabricate.build(:contact, registrar: registrar, code: 'contactcode')
|
||||
contact.generate_code
|
||||
contact.save!
|
||||
|
||||
expect(contact.code).to eq('REGISTRARCODE:CONTACTCODE')
|
||||
end
|
||||
|
@ -252,16 +255,6 @@ RSpec.describe Contact do
|
|||
end
|
||||
|
||||
context 'after create' do
|
||||
it 'should not generate a new code when code is present' do
|
||||
@contact = Fabricate.build(:contact,
|
||||
registrar: Fabricate(:registrar, code: 'FIXED'),
|
||||
code: 'FIXED:new-code',
|
||||
auth_info: 'qwe321')
|
||||
@contact.code.should == 'FIXED:new-code' # still new record
|
||||
@contact.save.should == true
|
||||
@contact.code.should == 'FIXED:NEW-CODE'
|
||||
end
|
||||
|
||||
it 'should not allow to use same code' do
|
||||
registrar = Fabricate.create(:registrar, code: 'FIXED')
|
||||
|
||||
|
@ -299,12 +292,15 @@ RSpec.describe Contact do
|
|||
end
|
||||
|
||||
it 'should generate code if empty code is given' do
|
||||
@contact = Fabricate(:contact, code: '')
|
||||
@contact = Fabricate.build(:contact, code: '')
|
||||
@contact.generate_code
|
||||
@contact.save!
|
||||
@contact.code.should_not == ''
|
||||
end
|
||||
|
||||
it 'should not ignore empty spaces as code and generate new one' do
|
||||
@contact = Fabricate.build(:contact, code: ' ', registrar: Fabricate(:registrar, code: 'FIXED'))
|
||||
@contact.generate_code
|
||||
@contact.valid?.should == true
|
||||
@contact.code.should =~ /FIXED:..../
|
||||
end
|
||||
|
@ -316,6 +312,7 @@ RSpec.describe Contact do
|
|||
registrar: Fabricate(:registrar, code: 'FIXED'),
|
||||
code: '123asd',
|
||||
auth_info: 'qwe321')
|
||||
@contact.generate_code
|
||||
@contact.save
|
||||
@contact.code.should == 'FIXED:123ASD'
|
||||
@auth_info = @contact.auth_info
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue