From 7cadf669207b720525209ac063f7da580749b9a4 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 27 Apr 2017 14:32:27 +0300 Subject: [PATCH] Fix domain period parsing on create/renew in registrar area #475 --- app/models/depp/domain.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/models/depp/domain.rb b/app/models/depp/domain.rb index eb8484759..2b35a695c 100644 --- a/app/models/depp/domain.rb +++ b/app/models/depp/domain.rb @@ -54,10 +54,13 @@ module Depp keys = Domain.create_dnskeys_hash(domain_params) dns_hash[:_anonymus] = keys if keys.any? + period = domain_params[:period].to_i.to_s + period_unit = domain_params[:period][-1].to_s + if domain_params[:nameservers_attributes].select { |key, value| value['hostname'].present? }.any? xml = epp_xml.create({ name: { value: domain_params[:name] }, - period: { value: domain_params[:period].to_s[0], attrs: { unit: domain_params[:period].to_s[1] } }, + period: { value: period, attrs: { unit: period_unit } }, ns: Domain.create_nameservers_hash(domain_params), registrant: { value: domain_params[:registrant] }, _anonymus: Domain.create_contacts_hash(domain_params) @@ -65,7 +68,7 @@ module Depp else xml = epp_xml.create({ name: { value: domain_params[:name] }, - period: { value: domain_params[:period].to_s[0], attrs: { unit: domain_params[:period].to_s[1] } }, + period: { value: period, attrs: { unit: period_unit } }, registrant: { value: domain_params[:registrant] }, _anonymus: Domain.create_contacts_hash(domain_params) }, dns_hash, Domain.construct_custom_params_hash(domain_params)) @@ -97,10 +100,13 @@ module Depp end def renew(params) + period = params[:period].to_i.to_s + period_unit = params[:period][-1].to_s + current_user.request(epp_xml.renew( name: { value: params[:domain_name] }, curExpDate: { value: params[:cur_exp_date] }, - period: { value: params[:period].to_s[0], attrs: { unit: params[:period].to_s[1] } } + period: { value: period, attrs: { unit: period_unit } } )) end