Merge branch 'master' of github.com:domify/registry

This commit is contained in:
Martin Lensment 2015-04-15 12:32:53 +03:00
commit 8768c0e1d6
17 changed files with 98 additions and 129 deletions

View file

@ -24,7 +24,7 @@ class Registrar::DomainsController < Registrar::DeppController # EPP controller
render 'info'
else
flash[:alert] = t('domain_not_found')
redirect_to registrar_domains_path and return
redirect_to registrar_domains_url and return
end
end
@ -49,7 +49,7 @@ class Registrar::DomainsController < Registrar::DeppController # EPP controller
@data = @domain.create(@domain_params)
if response_ok?
redirect_to info_registrar_domains_path(domain_name: @domain_params[:name])
redirect_to info_registrar_domains_url(domain_name: @domain_params[:name])
else
render 'new'
end
@ -67,7 +67,7 @@ class Registrar::DomainsController < Registrar::DeppController # EPP controller
@data = @domain.update(@domain_params)
if response_ok?
redirect_to info_domains_path(domain_name: @domain_params[:name])
redirect_to info_registrar_domains_url(domain_name: @domain_params[:name])
else
params[:domain_name] = @domain_params[:name]
render 'new'

View file

@ -24,7 +24,7 @@ class Registrar::PollsController < Registrar::DeppController # EPP controller
@data = @domain.confirm_keyrelay(domain_params)
if response_ok?
redirect_to info_domains_path(domain_name: domain_params[:name])
redirect_to info_registrar_domains_url(domain_name: domain_params[:name])
else
@results = @data.css('result')
@data = depp_current_user.request(@ex.poll)

View file

@ -10,11 +10,21 @@ module ApplicationHelper
end
def ident_for(contact)
case contact.ident_type
when 'birthday'
"#{contact.ident} [#{contact.ident_type}]"
if contact.kind_of? Hash
ident_country_code = contact[:ident_country_code]
ident_type = contact[:ident_type]
ident = contact[:ident]
else
"#{contact.ident} [#{contact.ident_country_code} #{contact.ident_type}]"
ident_country_code = contact.ident_country_code
ident_type = contact.ident_type
ident = contact.ident
end
case ident_type
when 'birthday'
"#{ident} [#{ident_type}]"
else
"#{ident} [#{ident_country_code} #{ident_type}]"
end
end

View file

@ -1,5 +1,6 @@
class Contact < ActiveRecord::Base
include Versions # version/contact_version.rb
include EppErrors
belongs_to :registrar
has_many :domain_contacts

View file

@ -5,7 +5,7 @@ module Depp
attr_accessor :name, :current_user, :epp_xml
DOMAIN_STATUSES = %w(
STATUSES = %w(
clientDeleteProhibited
clientHold
clientRenewProhibited
@ -13,6 +13,8 @@ module Depp
clientUpdateProhibited
)
PERIODS = [['1 year', '1y'], ['2 years', '2y'], ['3 years', '3y']]
def initialize(args = {})
self.current_user = args[:current_user]
self.epp_xml = EppXml::Domain.new(cl_trid_prefix: current_user.tag)
@ -36,7 +38,7 @@ module Depp
xml = epp_xml.create({
name: { value: domain_params[:name] },
registrant: { value: domain_params[:registrant] },
period: { value: domain_params[:period], attrs: { unit: domain_params[:period_unit] } },
period: { value: domain_params[:period].to_s[0], attrs: { unit: domain_params[:period].to_s[1] } },
ns: Domain.create_nameservers_hash(domain_params),
_anonymus: Domain.create_contacts_hash(domain_params)
}, {
@ -164,7 +166,7 @@ module Depp
end
data.css('status').each_with_index do |x, i|
next unless DOMAIN_STATUSES.include?(x['s'])
next unless STATUSES.include?(x['s'])
ret[:statuses_attributes][i] = {
code: x['s'],
description: x.text
@ -190,12 +192,10 @@ module Depp
def construct_edit_hash(domain_params, old_domain_params)
contacts = create_contacts_hash(domain_params) - create_contacts_hash(old_domain_params)
statuses = create_statuses_hash(domain_params) - create_statuses_hash(old_domain_params)
add_anon = contacts + statuses
add_anon = contacts
contacts = create_contacts_hash(old_domain_params) - create_contacts_hash(domain_params)
statuses = create_statuses_hash(old_domain_params) - create_statuses_hash(domain_params)
rem_anon = contacts + statuses
rem_anon = contacts
if domain_params[:registrant] != old_domain_params[:registrant]
chg = [{ registrant: { value: domain_params[:registrant] } }]
@ -283,18 +283,6 @@ module Depp
pubKey: { value: key_data_params['public_key'] }
}
end
def create_statuses_hash(domain_params)
ret = []
domain_params[:statuses_attributes].each do |_k, v|
next if v['code'].blank?
ret << {
status: { value: v['description'], attrs: { s: v['code'] } }
}
end
ret
end
end
end
end

View file

@ -16,7 +16,7 @@
%tr
%td= link_to(c[:name], registrar_contact_path(id: c[:code]))
%td= c[:code]
%td= c[:ident]
%td= ident_for(c)
%td
= link_to(t(:edit), edit_registrar_contact_path(c[:code]), class: 'btn btn-primary btn-xs')
= link_to(t(:delete), delete_registrar_contact_path(c[:code]), class: 'btn btn-default btn-xs')

View file

@ -3,21 +3,19 @@
%h3.panel-title= t(:general)
.panel-body
%dl.dl-horizontal
%dt= t(:ident)
%dd= ident_for(@contact)
%dt= t(:contact_code)
%dd= @contact.id
%dt= t(:password)
%dd= @contact.password
%br
%dt= t(:ident)
%dd= ident_for(@contact)
%dt= t(:email)
%dd= @contact.email
%dt= t(:phone)
%dd= @contact.phone
%br
%dt= t(:contact_code)
%dd= @contact.id
%dt= t(:password)
%dd= @contact.password

View file

@ -1,4 +1,4 @@
%h1= t('add_deposit')
%h1= t(:add_deposit)
%hr
= form_for([:registrar, @deposit], method: :post) do |f|
.row

View file

@ -1,26 +1,12 @@
- path = (params[:domain_name]) ? update_registrar_domains_path : registrar_domains_path
= form_tag(path, class: 'form-horizontal', multipart: true) do
.row
.col-md-12
/ Nav tabs
%ul.nav.nav-tabs{:role => "tablist", id: 'tabs'}
%li.active
%a{"data-toggle" => "tab", :href => "#general-tab", :role => "tab"}= t('general')
- if params['domain_name']
%li
%a{"data-toggle" => "tab", :href => "#statuses-tab", :role => "tab"}= t('statuses')
/ Tab panes
.tab-content
.col-md-8
#general-tab.tab-pane.active
= render 'registrar/domains/form_partials/general'
= render 'registrar/domains/form_partials/contacts'
%hr
= render 'registrar/domains/form_partials/nameservers'
%hr
= render 'registrar/domains/form_partials/dnskeys'
- if params['domain_name']
#statuses-tab.tab-pane
= render 'registrar/domains/form_partials/statuses'
.panel.panel-default
.panel-heading.clearfix
@ -30,9 +16,13 @@
= label_tag 'domain[legal_document]', t('legal_document'),class: 'col-md-3 control-label'
.col-md-9
= file_field_tag 'domain[legal_document]'
.col-md-4
%p.domain-general-help= t(:domain_general_help).html_safe
%p.domain-admin-contact-help= t(:domain_admin_contact_help).html_safe
%p.domain-tech-contact-help= t(:domain_tech_contact_help).html_safe
.row
.col-md-12.text-right
.col-md-8.text-right
= button_tag(t('shared.save'), class: 'btn btn-primary')
:javascript

View file

@ -1,4 +1,2 @@
= render 'registrar/shared/title', name: "#{t(:edit)}: #{params[:domain_name]}"
%hr
= render 'form'

View file

@ -8,13 +8,13 @@
= link_to(t('delete'), '#', class: 'btn btn-danger btn-xs destroy')
.panel-body
.form-group
= label_tag "domain_contacts_attributes_#{k}_type", t('contact_type'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_contacts_attributes_#{k}_type", t('contact_type'), class: 'col-md-3 control-label'
.col-md-7
= select_tag "domain[contacts_attributes][#{k}][type]", options_for_select(['admin', 'tech'], v['type']), {class: 'form-control'}
.form-group
= label_tag "domain_contacts_attributes_#{k}_code", t('contact_code'), class: 'col-md-2 control-label'
.col-md-10.has-feedback
= label_tag "domain_contacts_attributes_#{k}_code", t('contact_code'), class: 'col-md-3 control-label'
.col-md-7.has-feedback
= text_field_tag("domain[contacts_attributes][#{k}][code]", v['code'], class: 'form-control', placeholder: t('contact_code'), autocomplete: 'off')
:coffee
$("#domain-contacts").nestedAttributes

View file

@ -9,43 +9,43 @@
.panel-body
- if ENV['show_ds_data_fields'] == 'true'
.form-group
= label_tag "domain_dnskeys_attributes_#{k}_ds_key_tag", t('ds_key_tag'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_dnskeys_attributes_#{k}_ds_key_tag", t('ds_key_tag'), class: 'col-md-3 control-label'
.col-md-7
= text_field_tag "domain[dnskeys_attributes][#{k}][ds_key_tag]", v['ds_key_tag'], {class: 'form-control'}
.form-group
= label_tag "domain_dnskeys_attributes_#{k}_ds_alg", t('ds_algorithm'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_dnskeys_attributes_#{k}_ds_alg", t('ds_algorithm'), class: 'col-md-3 control-label'
.col-md-7
= select_tag "domain[dnskeys_attributes][#{k}][ds_alg]", options_for_select(Depp::Dnskey::ALGORITHMS, v['ds_alg']), {class: 'form-control'}
.form-group
= label_tag "domain_dnskeys_attributes_#{k}_ds_digest_type", t('ds_digest_type'), class: 'col-md-2 control-label'
.col-md-10
.col-md-7
= select_tag "domain[dnskeys_attributes][#{k}][ds_digest_type]", options_for_select(Depp::Dnskey::DS_DIGEST_TYPES, v['ds_digest_type']), {class: 'form-control'}
.form-group
= label_tag "domain_dnskeys_attributes_#{k}_ds_digest", t('ds_digest'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_dnskeys_attributes_#{k}_ds_digest", t('ds_digest'), class: 'col-md-3 control-label'
.col-md-7
= text_field_tag "domain[dnskeys_attributes][#{k}][ds_digest]", v['ds_digest'], {class: 'form-control'}
.form-group
= label_tag "domain_dnskeys_attributes_#{k}_flags", t('flags'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_dnskeys_attributes_#{k}_flags", t('flags'), class: 'col-md-3 control-label'
.col-md-7
= select_tag "domain[dnskeys_attributes][#{k}][flags]", options_for_select(Depp::Dnskey::FLAGS, v['flags']), {class: 'form-control'}
.form-group
= label_tag "domain_dnskeys_attributes_#{k}_protocol", t('protocol'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_dnskeys_attributes_#{k}_protocol", t('protocol'), class: 'col-md-3 control-label'
.col-md-7
= select_tag "domain[dnskeys_attributes][#{k}][protocol]", options_for_select(Depp::Dnskey::PROTOCOLS, v['protocol']), {class: 'form-control'}
.form-group
= label_tag "domain_dnskeys_attributes_#{k}_alg", t('alg'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_dnskeys_attributes_#{k}_alg", t('alg'), class: 'col-md-3 control-label'
.col-md-7
= select_tag "domain[dnskeys_attributes][#{k}][alg]", options_for_select(Depp::Dnskey::ALGORITHMS, v['alg']), {class: 'form-control'}
.form-group
= label_tag "domain_dnskeys_attributes_#{k}_public_key", t('public_key'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_dnskeys_attributes_#{k}_public_key", t('public_key'), class: 'col-md-3 control-label'
.col-md-7
= text_field_tag "domain[dnskeys_attributes][#{k}][public_key]", v['public_key'], class: 'form-control'
:coffee
$("#dnskeys").nestedAttributes

View file

@ -1,20 +1,19 @@
.general-tab.panel.panel-default
.panel-body
.form-group
= label_tag :domain_name, t('name'), class: 'col-md-2 control-label'
.col-md-10
= label_tag :domain_name, t('name'), class: 'col-md-3 control-label'
.col-md-7
- readonly = params[:domain_name] ? true : false
= text_field_tag('domain[name]', @domain_params[:name], class: 'form-control', readonly: readonly)
- unless params[:domain_name]
.form-group
= label_tag :domain_period, t('period'), class: 'col-md-2 control-label'
.col-md-5
= text_field_tag('domain[period]', @domain_params[:period], class: 'form-control')
.col-md-5
= select_tag 'domain[period_unit]', options_for_select(['y', 'm', 'd'], @domain_params[:period_unit]), { class: 'form-control' }
= label_tag :domain_period, t('period'), class: 'col-md-3 control-label'
.col-md-7
= select_tag 'domain[period]',
options_for_select(Depp::Domain::PERIODS, @domain_params[:period]), { class: 'form-control' }
.form-group
= label_tag :domain_registrant, t('registrant'), class: 'col-md-2 control-label'
.col-md-10
= label_tag :domain_registrant, t('registrant'), class: 'col-md-3 control-label'
.col-md-7
= text_field_tag('domain[registrant]', @domain_params[:registrant], class: 'form-control', placeholder: t('contact_code'), autocomplete: 'off')

View file

@ -8,16 +8,16 @@
= link_to(t('delete'), '#', class: 'btn btn-danger btn-xs destroy')
.panel-body
.form-group
= label_tag "domain_nameservers_attributes_#{k}_hostname", t('hostname'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_nameservers_attributes_#{k}_hostname", t('hostname'), class: 'col-md-3 control-label'
.col-md-7
= text_field_tag "domain[nameservers_attributes][#{k}][hostname]", v['hostname'], class: 'form-control'
.form-group
= label_tag "domain_nameservers_attributes_#{k}_ipv4", t('ipv4'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_nameservers_attributes_#{k}_ipv4", t('ipv4'), class: 'col-md-3 control-label'
.col-md-7
= text_field_tag "domain[nameservers_attributes][#{k}][ipv4]", v['ipv4'], class: 'form-control'
.form-group
= label_tag "domain_nameservers_attributes_#{k}_ipv6", t('ipv6'), class: 'col-md-2 control-label'
.col-md-10
= label_tag "domain_nameservers_attributes_#{k}_ipv6", t('ipv6'), class: 'col-md-3 control-label'
.col-md-7
= text_field_tag "domain[nameservers_attributes][#{k}][ipv6]", v['ipv6'], class: 'form-control'
:coffee
$("#nameservers").nestedAttributes

View file

@ -1,24 +0,0 @@
#domain-statuses
- @domain_params['statuses_attributes'].each do |k, v|
%br
.panel.panel-default
.panel-heading.clearfix
.pull-left= t('status')
.pull-right
= link_to(t('add_another'), '#', class: 'btn btn-primary btn-xs add-domain-status')
= link_to(t('delete'), '#', class: 'btn btn-danger btn-xs destroy')
.panel-body
.form-group
= label_tag "domain_statuses_attributes_#{k}_code", t('code'),class: 'col-md-2 control-label'
.col-md-10
= select_tag "domain[statuses_attributes][#{k}][code]", options_for_select(Depp::Domain::DOMAIN_STATUSES, v['code']), {class: 'form-control', prompt: ''}
.form-group
= label_tag "domain_statuses_attributes_#{k}_description", t('description'),class: 'col-md-2 control-label'
.col-md-10
= text_field_tag "domain[statuses_attributes][#{k}][description]", v['description'], class: 'form-control', autocomplete: 'off'
:coffee
$("#domain-statuses").nestedAttributes
bindAddTo: $(".add-domain-status")
afterAdd: (item) ->
item.find('select').each (k, v) ->
$(v).val($(v).find('option:first-child').val())

View file

@ -11,7 +11,7 @@
- if ['development', 'alpha'].include?(Rails.env)
%div.text-center
60000007 / 00000766
00007, 60000007, 00000766
:coffee
$('.js-login').attr('disabled', false)

View file

@ -702,3 +702,12 @@ en:
invoices_were_fully_binded: 'Invoices were fully binded'
invoices_were_partially_binded: 'Invoices were partially binded'
no_invoices_were_binded: 'No invoices were binded'
domain_general_help:
<b>The Administrative Contact</b>
is an Estonian citizen or a citizen of another country in the European Union, European Economic Area or the Swiss Confederation with a registered place of residence in Estonia and an Estonian personal identification code who has the right to represent the registering entity in accordance with the current legislation of the Republic of Estonia (member of the management board) or on the basis of the written authorisation issued by a member of the management board. The Administrative Contact has the right to sign and submit in the name of the registering entity any applications connected with the domain name and also to receive and forward any information concerning the domain name(s). The Administrative Contact is responsible for the correctness and authenticity of the data and documents submitted about itself and the registering entity.
domain_admin_contact_help:
<b>The Technical Contact</b>
is a person who has the right to modify only such domain name server data that is connected with it. If the domain registering entity is using a website hosting service, it is recommended to register as the Technical Contact a representative of the corresponding provider company. If the domain registering entity manages its own servers, it can register itself as the Technical Contact.
domain_tech_contact_help:
<b>The domain name server</b>
is a computer that saves and forwards via a general-access data communications network such data that is connected with the domain name and corresponding IP addresses. Your IT helpdesk or Internet service provider will have the necessary information about the domain name servers.