Merge branch 'master' into registry-268

This commit is contained in:
Artur Beljajev 2017-03-08 13:25:28 +02:00
commit ba53ae90a7
27 changed files with 164 additions and 80 deletions

View file

@ -83,4 +83,10 @@ module ApplicationHelper
version.object_changes.to_h.slice(*attrs).any? && css_class
end
end
def legal_document_types
types = LegalDocument::TYPES.dup
types.delete('ddoc')
".#{types.join(',.')}"
end
end

View file

@ -0,0 +1,6 @@
class DefaultFormBuilder < ActionView::Helpers::FormBuilder
def legal_document_field(method, options = {})
self.multipart = true
@template.legal_document_field(@object_name, method, objectify_options(options))
end
end

View file

@ -0,0 +1,8 @@
module FormHelper
def legal_document_field(object_name, method, options = {})
options[:data] = { legal_document: true }
options[:accept] = legal_document_types unless options[:accept]
file_field(object_name, method, options)
end
end

View file

@ -0,0 +1,8 @@
module FormTagHelper
def legal_document_field_tag(name, options = {})
options[:data] = { legal_document: true }
options[:accept] = legal_document_types unless options[:accept]
file_field_tag(name, options)
end
end

View file

@ -3,20 +3,20 @@
= f.hidden_field :password
.row
.col-md-8
= render 'registrar/contacts/form_partials/general', f: f
= render 'registrar/contacts/form/general', f: f
- if address_processing?
.row
.col-md-8
= render 'registrar/contacts/form_partials/address', f: f
= render 'registrar/contacts/form/address', f: f
- if !@contact.persisted?
.row
.col-md-8
= render 'registrar/contacts/form_partials/code', f: f
= render 'registrar/contacts/form/code', f: f
.row
.col-md-8
= render 'registrar/contacts/form_partials/legal_document', f: f
= render 'registrar/contacts/form/legal_document', f: f
.row
.col-md-8.text-right

View file

@ -10,7 +10,7 @@
.row
.col-md-8
= render 'registrar/contacts/form_partials/legal_document', f: f
= render 'registrar/contacts/form/legal_document', f: f
%hr
.row

View file

@ -10,4 +10,4 @@
= f.label :legal_document, t(:legal_document)
%p.help-block= t(:legal_document_max_size)
.col-md-7
= f.file_field :legal_document, :value => '', data: {legal_document: true}
= f.legal_document_field :legal_document

View file

@ -1,41 +0,0 @@
.panel.panel-default
.panel-heading.clearfix
.pull-left= t(:contact_disclosure)
.panel-body
.form-group
= label_tag :contact_disclose_flag, t(:flag_type), class: 'col-md-2 control-label'
.col-md-10
=# check_box_tag('contact[disclose][sv_policy]', @contact_params[:disclose][:sv_policy], class: 'form-control')
= select_tag('contact[disclose][flag]', options_for_select(Depp::Contact::DISCLOSURE_TYPES) )
.panel-body
.form-group
= label_tag :contact_disclose_name, t(:name), class: 'col-md-2 control-label'
.col-md-10
= check_box_tag('contact[disclose][name]')
.form-group
= label_tag :contact_disclose_email, t(:email), class: 'col-md-2 control-label'
.col-md-10
= check_box_tag('contact[disclose][email]')
.form-group
= label_tag :contact_disclose_org_name, t(:org_name), class: 'col-md-2 control-label'
.col-md-10
= check_box_tag('contact[disclose][org_name]')
.form-group
= label_tag :contact_disclose_address, t(:address), class: 'col-md-2 control-label'
.col-md-10
= check_box_tag('contact[disclose][address]')
.form-group
= label_tag :contact_disclose_voice, t(:voice), class: 'col-md-2 control-label'
.col-md-10
= check_box_tag('contact[disclose][voice]')
.form-group
= label_tag :contact_disclose_fax, t(:fax), class: 'col-md-2 control-label'
.col-md-10
= check_box_tag('contact[disclose][fax]')

View file

@ -1,10 +0,0 @@
- @contact[:disclose].each do |flag, data|
- next if data.empty?
.panel.panel-default
.panel-heading
%h3.panel-title= t("disclosure-#{flag}")
.panel-body
%dl.dl-horizontal
- data.each do |k,v|
%dt= t(k)

View file

@ -18,7 +18,7 @@
%th{class: 'col-xs-3'}=custom_sort_link t(:domain_name), :name
%th{class: 'col-xs-3'}=custom_sort_link t(:registrar_name), :registrar_name
%th{class: 'col-xs-3'}=custom_sort_link t(:valid_to), :valid_to
%th{class: 'col-xs-3'}= t(:roles)
%th{class: 'col-xs-3'}= t('.roles')
%tbody
- domains.each do |x|
%tr

View file

@ -3,10 +3,10 @@
.row
.col-md-8
#general-tab.tab-pane.active
= render 'registrar/domains/form_partials/general'
= render 'registrar/domains/form_partials/contacts'
= render 'registrar/domains/form_partials/nameservers'
= render 'registrar/domains/form_partials/dnskeys'
= render 'registrar/domains/form/general'
= render 'registrar/domains/form/contacts'
= render 'registrar/domains/form/nameservers'
= render 'registrar/domains/form/dnskeys'
.panel.panel-default
.panel-heading.clearfix
@ -18,7 +18,7 @@
= label_tag 'domain[legal_document]', t(:legal_document), class: c
%p.help-block= t(:legal_document_max_size)
.col-md-7
= file_field_tag 'domain[legal_document]', required: fr, data: {legal_document: true}
= legal_document_field_tag 'domain[legal_document]', required: fr
.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
@ -26,9 +26,4 @@
.row
.col-md-8.text-right
= button_tag(t('shared.save'), class: 'btn btn-warning')
:javascript
$(function () {
$('#tabs a:first').tab('show')
})
= button_tag(t('.save_btn'), class: 'btn btn-warning')

View file

@ -39,7 +39,7 @@
.form-group
.col-md-3.control-label
= label_tag "domain_dnskeys_attributes_#{k}_flags", t(:flags)
= label_tag "domain_dnskeys_attributes_#{k}_flags", t('.flags')
.col-md-7
= select_tag "domain[dnskeys_attributes][#{k}][flags]",
options_for_select(Depp::Dnskey::FLAGS, v['flags']),
@ -55,7 +55,7 @@
.form-group
.col-md-3.control-label
= label_tag "domain_dnskeys_attributes_#{k}_alg", t(:alg)
= label_tag "domain_dnskeys_attributes_#{k}_alg", t('.alg')
.col-md-7
= select_tag "domain[dnskeys_attributes][#{k}][alg]",
options_for_select(Depp::Dnskey::ALGORITHMS, v['alg']), { class: 'form-control' }

View file

@ -14,14 +14,14 @@
%dt= t(:registrant)
%dd= "#{registrant.name} (#{@data.css('registrant').text})"
%dt= t(:registered)
%dt= t('.registered')
%dd= @data.css('crDate').text
%dt= t(:valid_to)
%dd= @data.css('exDate').text
%dt= t(:created)
%dt= t('.created')
%dd= @data.css('crDate').text
%dt= t(:updated)
%dt= t('.updated')
%dd= @data.css('upDate').text

View file

@ -78,6 +78,8 @@ module Registry
domain: ENV['smtp_domain'],
openssl_verify_mode: ENV['smtp_openssl_verify_mode']
}
config.action_view.default_form_builder = 'DefaultFormBuilder'
end
end

View file

@ -0,0 +1,6 @@
en:
registrar:
contacts:
partials:
domains:
roles: Roles

View file

@ -8,3 +8,15 @@ en:
registrant_name: Registrant name
registrant_code: Registrant code
expire_time: Date of expiry
form:
save_btn: Save
dnskeys:
flags: Flags
alg: Algorithm
partials:
general:
registered: Registered
created: Created
updated: Updated

View file

@ -10,8 +10,13 @@ FactoryGirl.define do
end
factory :api_user_with_unlimited_balance do
after :build do |api_user|
api_user.registrar = create(:registrar_with_unlimited_balance)
transient do
registrar false
end
after :build do |api_user, evaluator|
registrar = (evaluator.registrar || create(:registrar_with_unlimited_balance))
api_user.registrar = registrar
end
end
end

View file

@ -0,0 +1,52 @@
require 'rails_helper'
class FakeDeppContact
include ActiveModel::Model
def id
'test'
end
def name
'test'
end
def persisted?
true
end
def password
'test'
end
def delete
true
end
end
RSpec.feature 'Contact deletion in registrar area' do
given!(:registrar) { create(:registrar) }
given!(:contact) { create(:contact, registrar: registrar) }
background do
allow(Depp::Contact).to receive(:find_by_id).and_return(FakeDeppContact.new)
allow(Depp::Contact).to receive(:new).and_return(FakeDeppContact.new)
Setting.api_ip_whitelist_enabled = false
Setting.registrar_ip_whitelist_enabled = false
sign_in_to_registrar_area(user: create(:api_user_with_unlimited_balance, registrar: registrar))
end
it 'deletes contact' do
visit registrar_contacts_url
click_link_or_button 'Delete'
confirm
expect(page).to have_text('Destroyed')
end
private
def confirm
click_link_or_button 'Delete'
end
end

View file

@ -8,10 +8,10 @@ RSpec.describe 'registrar/contacts/_form' do
assign(:contact, contact)
stub_template 'registrar/shared/_error_messages' => ''
stub_template 'registrar/contacts/form_partials/_general' => ''
stub_template 'registrar/contacts/form_partials/_address' => 'address info'
stub_template 'registrar/contacts/form_partials/_code' => ''
stub_template 'registrar/contacts/form_partials/_legal_document' => ''
stub_template 'registrar/contacts/form/_general' => ''
stub_template 'registrar/contacts/form/_address' => 'address info'
stub_template 'registrar/contacts/form/_code' => ''
stub_template 'registrar/contacts/form/_legal_document' => ''
end
context 'when address processing is enabled' do

View file

@ -0,0 +1,15 @@
require 'rails_helper'
RSpec.describe 'registrar/contacts/form/_legal_document' do
let(:contact) { instance_spy(Depp::Contact) }
before :example do
allow(view).to receive(:f).and_return(DefaultFormBuilder.new(:depp_contact, contact, view, {}))
assign(:contact, contact)
end
it 'has legal document' do
render
expect(rendered).to have_css('[name="depp_contact[legal_document]"]')
end
end

View file

@ -0,0 +1,20 @@
require 'rails_helper'
RSpec.describe 'registrar/domains/_form' do
let(:domain) { instance_spy(Depp::Domain) }
before :example do
allow(view).to receive(:f).and_return(DefaultFormBuilder.new(:domain, domain, view, {}))
assign(:domain, domain)
stub_template 'registrar/domains/form/_general' => ''
stub_template 'registrar/domains/form/_contacts' => ''
stub_template 'registrar/domains/form/_nameservers' => ''
stub_template 'registrar/domains/form/_dnskeys' => ''
end
it 'has legal document' do
render
expect(rendered).to have_css('[name="domain[legal_document]"]')
end
end