mirror of
https://github.com/internetee/registry.git
synced 2025-07-01 16:53:37 +02:00
Merge branch 'master' into registry-268
This commit is contained in:
commit
ba53ae90a7
27 changed files with 164 additions and 80 deletions
|
@ -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
|
||||
|
|
6
app/helpers/default_form_builder.rb
Normal file
6
app/helpers/default_form_builder.rb
Normal 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
|
8
app/helpers/form_helper.rb
Normal file
8
app/helpers/form_helper.rb
Normal 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
|
8
app/helpers/form_tag_helper.rb
Normal file
8
app/helpers/form_tag_helper.rb
Normal 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
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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]')
|
|
@ -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)
|
||||
|
|
@ -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
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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' }
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
6
config/locales/registrar/contacts.en.yml
Normal file
6
config/locales/registrar/contacts.en.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
en:
|
||||
registrar:
|
||||
contacts:
|
||||
partials:
|
||||
domains:
|
||||
roles: Roles
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
52
spec/features/registrar/contacts/delete_spec.rb
Normal file
52
spec/features/registrar/contacts/delete_spec.rb
Normal 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
|
|
@ -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
|
||||
|
|
|
@ -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
|
20
spec/views/registrar/domains/_form.haml_spec.rb
Normal file
20
spec/views/registrar/domains/_form.haml_spec.rb
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue