mirror of
https://github.com/internetee/registry.git
synced 2025-08-04 00:42:04 +02:00
parent
0893d5b6f2
commit
fc71bf93e7
46 changed files with 21 additions and 1487 deletions
|
@ -1,13 +0,0 @@
|
|||
module Admin
|
||||
class KeyrelaysController < BaseController
|
||||
load_and_authorize_resource
|
||||
|
||||
def index
|
||||
@q = Keyrelay.includes(:requester, :accepter).search(params[:q])
|
||||
@keyrelays = @q.result.page(params[:page])
|
||||
end
|
||||
|
||||
def show;
|
||||
end
|
||||
end
|
||||
end
|
|
@ -58,7 +58,7 @@ module Epp
|
|||
end
|
||||
|
||||
def validate_against_schema
|
||||
return if ['hello', 'error', 'keyrelay'].include?(params[:action])
|
||||
return if %w[hello error].include?(params[:action])
|
||||
schema.validate(params[:nokogiri_frame]).each do |error|
|
||||
epp_errors << {
|
||||
code: 2001,
|
||||
|
|
|
@ -1,63 +0,0 @@
|
|||
module Epp
|
||||
class KeyrelaysController < BaseController
|
||||
skip_authorization_check # TODO: move authorization under ability
|
||||
|
||||
def keyrelay
|
||||
# keyrelay temp turned off
|
||||
@domain = find_domain
|
||||
|
||||
handle_errors(@domain) and return unless @domain
|
||||
handle_errors(@domain) and return unless @domain.authenticate(params[:parsed_frame].css('pw').text)
|
||||
handle_errors(@domain) and return unless @domain.keyrelay(params[:parsed_frame], current_user.registrar)
|
||||
|
||||
render_epp_response '/epp/shared/success'
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def validate_keyrelay
|
||||
@prefix = 'keyrelay >'
|
||||
|
||||
requires(
|
||||
'name',
|
||||
'keyData', 'keyData > pubKey', 'keyData > flags', 'keyData > protocol', 'keyData > alg',
|
||||
'authInfo', 'authInfo > pw'
|
||||
)
|
||||
|
||||
optional 'expiry > relative', duration_iso8601: true
|
||||
optional 'expiry > absolute', date_time_iso8601: true
|
||||
|
||||
exactly_one_of 'expiry > relative', 'expiry > absolute'
|
||||
end
|
||||
|
||||
def find_domain
|
||||
domain_name = params[:parsed_frame].css('name').text.strip.downcase
|
||||
|
||||
# keyrelay temp turned off
|
||||
epp_errors << {
|
||||
code: '2307',
|
||||
msg: I18n.t(:unimplemented_object_service),
|
||||
value: { obj: 'name', val: domain_name }
|
||||
}
|
||||
nil
|
||||
# end of keyrelay temp turned off
|
||||
|
||||
# domain = Epp::Domain.includes(:registrant).find_by(name: domain_name)
|
||||
|
||||
# unless domain
|
||||
# epp_errors << {
|
||||
# code: '2303',
|
||||
# msg: I18n.t('errors.messages.epp_domain_not_found'),
|
||||
# value: { obj: 'name', val: domain_name }
|
||||
# }
|
||||
# return nil
|
||||
# end
|
||||
|
||||
# domain
|
||||
end
|
||||
|
||||
def resource
|
||||
@domain
|
||||
end
|
||||
end
|
||||
end
|
|
@ -29,11 +29,7 @@ module Epp
|
|||
end
|
||||
end
|
||||
|
||||
if @notification.attached_obj_type == 'Keyrelay'
|
||||
render_epp_response 'epp/poll/poll_keyrelay'
|
||||
else
|
||||
render_epp_response 'epp/poll/poll_req'
|
||||
end
|
||||
render_epp_response 'epp/poll/poll_req'
|
||||
end
|
||||
|
||||
def ack_poll
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
class Registrar
|
||||
class KeyrelaysController < DeppController
|
||||
def show
|
||||
authorize! :view, Depp::Keyrelay
|
||||
end
|
||||
|
||||
def create
|
||||
authorize! :create, Depp::Keyrelay
|
||||
keyrelay = Depp::Keyrelay.new(current_user: depp_current_user)
|
||||
@data = keyrelay.keyrelay(params)
|
||||
|
||||
if response_ok?
|
||||
flash[:epp_results] = [{ 'code' => '1000', 'msg' => 'Command completed successfully', 'show' => true }]
|
||||
redirect_to registrar_keyrelay_path
|
||||
else
|
||||
render 'show'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -26,21 +26,6 @@ class Registrar
|
|||
render 'show'
|
||||
end
|
||||
|
||||
# TODO: Keyrelay is disabled for now
|
||||
# def confirm_keyrelay
|
||||
# authorize! :confirm, :keyrelay
|
||||
# domain_params = params[:domain]
|
||||
# @data = @domain.confirm_keyrelay(domain_params)
|
||||
|
||||
# if response_ok?
|
||||
# redirect_to info_registrar_domains_url(domain_name: domain_params[:name])
|
||||
# else
|
||||
# @results = @data.css('result')
|
||||
# @data = depp_current_user.request(@ex.poll)
|
||||
# render 'show'
|
||||
# end
|
||||
# end
|
||||
|
||||
def confirm_transfer
|
||||
domain_params = params[:domain]
|
||||
@data = @domain.confirm_transfer(domain_params)
|
||||
|
|
|
@ -34,8 +34,6 @@ class Ability
|
|||
if @user.registrar.api_ip_white?(@ip)
|
||||
can :manage, :poll
|
||||
can :manage, Depp::Contact
|
||||
# can :manage, Depp::Keyrelay # TODO: Keyrelay is disabled for now
|
||||
# can :confirm, :keyrelay # TODO: Keyrelay is disabled for now
|
||||
can :manage, :xml_console
|
||||
can :manage, Depp::Domain
|
||||
end
|
||||
|
@ -95,7 +93,6 @@ class Ability
|
|||
can :manage, ApiUser
|
||||
can :manage, AdminUser
|
||||
can :manage, Certificate
|
||||
can :manage, Keyrelay
|
||||
can :manage, LegalDocument
|
||||
can :manage, BankStatement
|
||||
can :manage, BankTransaction
|
||||
|
|
|
@ -121,16 +121,6 @@ module Depp
|
|||
}, op, Domain.construct_custom_params_hash(params)))
|
||||
end
|
||||
|
||||
def confirm_keyrelay(domain_params)
|
||||
xml = epp_xml.update({
|
||||
name: { value: domain_params[:name] }
|
||||
}, {
|
||||
add: Domain.create_dnskeys_hash(domain_params)
|
||||
})
|
||||
|
||||
current_user.request(xml)
|
||||
end
|
||||
|
||||
def confirm_transfer(domain_params)
|
||||
data = current_user.request(epp_xml.info(name: { value: domain_params[:name] }))
|
||||
pw = data.css('pw').text
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
module Depp
|
||||
class Keyrelay
|
||||
attr_accessor :current_user, :epp_xml
|
||||
|
||||
def initialize(args = {})
|
||||
self.current_user = args[:current_user]
|
||||
self.epp_xml = EppXml::Keyrelay.new(cl_trid_prefix: current_user.tag)
|
||||
end
|
||||
|
||||
def keyrelay(params)
|
||||
custom_params = {}
|
||||
if params[:legal_document].present?
|
||||
type = params[:legal_document].original_filename.split('.').last.downcase
|
||||
custom_params = {
|
||||
_anonymus: [
|
||||
legalDocument: { value: Base64.encode64(params[:legal_document].read), attrs: { type: type } }
|
||||
]
|
||||
}
|
||||
end
|
||||
|
||||
xml = epp_xml.keyrelay({
|
||||
name: { value: params['domain_name'] },
|
||||
keyData: {
|
||||
flags: { value: params['key_data_flags'] },
|
||||
protocol: { value: params['key_data_protocol'] },
|
||||
alg: { value: params['key_data_alg'] },
|
||||
pubKey: { value: params['key_data_public_key'] }
|
||||
},
|
||||
authInfo: {
|
||||
pw: { value: params['password'] }
|
||||
},
|
||||
expiry: expiry(params['expiry'])
|
||||
}, custom_params)
|
||||
|
||||
current_user.request(xml)
|
||||
end
|
||||
|
||||
def expiry(value)
|
||||
ISO8601::Duration.new(value)
|
||||
{ relative: { value: value } }
|
||||
rescue => _e
|
||||
{ absolute: { value: value } }
|
||||
end
|
||||
end
|
||||
end
|
|
@ -51,7 +51,6 @@ class Domain < ActiveRecord::Base
|
|||
|
||||
has_many :dnskeys, dependent: :destroy
|
||||
|
||||
has_many :keyrelays
|
||||
has_one :whois_record # destroyment will be done in after_commit
|
||||
|
||||
accepts_nested_attributes_for :dnskeys, allow_destroy: true
|
||||
|
|
|
@ -691,52 +691,6 @@ class Epp::Domain < Domain
|
|||
pt
|
||||
end
|
||||
|
||||
def keyrelay(parsed_frame, requester)
|
||||
if registrar == requester
|
||||
errors.add(:base, :domain_already_belongs_to_the_querying_registrar) and return false
|
||||
end
|
||||
|
||||
abs_datetime = parsed_frame.css('absolute').text
|
||||
abs_datetime = DateTime.zone.parse(abs_datetime) if abs_datetime.present?
|
||||
|
||||
transaction do
|
||||
kr = keyrelays.build(
|
||||
pa_date: Time.zone.now,
|
||||
key_data_flags: parsed_frame.css('flags').text,
|
||||
key_data_protocol: parsed_frame.css('protocol').text,
|
||||
key_data_alg: parsed_frame.css('alg').text,
|
||||
key_data_public_key: parsed_frame.css('pubKey').text,
|
||||
auth_info_pw: parsed_frame.css('pw').text,
|
||||
expiry_relative: parsed_frame.css('relative').text,
|
||||
expiry_absolute: abs_datetime,
|
||||
requester: requester,
|
||||
accepter: registrar
|
||||
)
|
||||
|
||||
legal_document_data = self.class.parse_legal_document_from_frame(parsed_frame)
|
||||
if legal_document_data
|
||||
kr.legal_documents.build(
|
||||
document_type: legal_document_data[:type],
|
||||
body: legal_document_data[:body]
|
||||
)
|
||||
end
|
||||
|
||||
kr.save
|
||||
|
||||
return false unless valid?
|
||||
|
||||
registrar.notifications.create!(
|
||||
text: 'Key Relay action completed successfully.',
|
||||
attached_obj_type: kr.class.to_s,
|
||||
attached_obj_id: kr.id
|
||||
)
|
||||
end
|
||||
|
||||
true
|
||||
end
|
||||
|
||||
### VALIDATIONS ###
|
||||
|
||||
def validate_exp_dates(cur_exp_date)
|
||||
begin
|
||||
return if cur_exp_date.to_date == valid_to.to_date
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
class Keyrelay < ActiveRecord::Base
|
||||
include Versions # version/keyrelay_version.rb
|
||||
include EppErrors
|
||||
|
||||
belongs_to :domain
|
||||
|
||||
belongs_to :requester, class_name: 'Registrar'
|
||||
belongs_to :accepter, class_name: 'Registrar'
|
||||
|
||||
has_many :legal_documents, as: :documentable
|
||||
|
||||
delegate :name, to: :domain, prefix: true
|
||||
|
||||
validates :domain, :key_data_public_key, :key_data_flags, :key_data_protocol,
|
||||
:key_data_alg, :auth_info_pw, presence: true
|
||||
validates :expiry_relative, duration_iso8601: true
|
||||
|
||||
validate :validate_expiry_relative_xor_expiry_absolute
|
||||
|
||||
after_save :touch_domain_version
|
||||
|
||||
def epp_code_map
|
||||
{
|
||||
'2005' => [
|
||||
[:expiry_relative, :unknown_pattern, { value: { obj: 'relative', val: expiry_relative } }]
|
||||
],
|
||||
'2003' => [
|
||||
# TODO: Remove only_one_parameter_allowed and other params that are validated in controller?
|
||||
[:base, :only_one_parameter_allowed, { param_1: 'relative', param_2: 'absolute' }],
|
||||
[:key_data_public_key, :blank],
|
||||
[:key_data_flags, :blank],
|
||||
[:key_data_protocol, :blank],
|
||||
[:key_data_alg, :blank],
|
||||
[:auth_info_pw, :blank]
|
||||
]
|
||||
}
|
||||
end
|
||||
|
||||
def expiry
|
||||
if expiry_relative.present?
|
||||
pa_date + ISO8601::Duration.new(expiry_relative).to_seconds
|
||||
elsif expiry_absolute
|
||||
expiry_absolute
|
||||
end
|
||||
end
|
||||
|
||||
def status
|
||||
if Time.zone.now > expiry
|
||||
return 'expired'
|
||||
else
|
||||
return 'pending'
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def validate_expiry_relative_xor_expiry_absolute
|
||||
return if expiry_relative.blank? ^ expiry_absolute.blank?
|
||||
errors.add(:base, I18n.t(:only_one_parameter_allowed, param_1: 'relative', param_2: 'absolute'))
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class KeyrelayVersion < PaperTrail::Version
|
||||
include VersionSession
|
||||
self.table_name = :log_keyrelays
|
||||
self.sequence_name = :log_keyrelays_id_seq
|
||||
end
|
|
@ -6,8 +6,6 @@
|
|||
%li= link_to t(:contacts), admin_contacts_path
|
||||
- if can? :show, Registrar
|
||||
%li= link_to t(:registrars), admin_registrars_path
|
||||
- if can? :show, Keyrelay
|
||||
%li= link_to t(:keyrelays), admin_keyrelays_path
|
||||
- if can?(:access, :settings_menu)
|
||||
%li.dropdown
|
||||
%a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"}
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
.panel{class: 'panel-default'}
|
||||
.panel-heading.clearfix
|
||||
= t(:keyrelays)
|
||||
.table-responsive
|
||||
%table.table.table-hover.table-bordered.table-condensed
|
||||
%thead
|
||||
%tr
|
||||
%th{class: 'col-xs-4'}= t(:uploaded_at)
|
||||
%th{class: 'col-xs-3'}= t(:expiry)
|
||||
%th{class: 'col-xs-2'}= t(:requester)
|
||||
%th{class: 'col-xs-2'}= t(:accepter)
|
||||
%th{class: 'col-xs-1'}= t(:status)
|
||||
%tbody
|
||||
- @domain.keyrelays.includes([:requester, :accepter]).order(pa_date: :desc).each do |x|
|
||||
%tr
|
||||
%td= link_to(x.pa_date, [:admin, x])
|
||||
%td= x.expiry
|
||||
%td= link_to(x.requester, [:admin, x.requester])
|
||||
%td= link_to(x.accepter, [:admin, x.accepter])
|
||||
%td= x.status
|
|
@ -57,12 +57,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<%= render 'admin/domains/partials/keyrelays' %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<%= render 'admin/domains/partials/legal_documents', legal_documents:
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
.col-md-3
|
||||
.form-group
|
||||
= f.label :request_command
|
||||
= f.select :request_command_eq, [[t(:choose),''], 'hello', 'login', 'logout', 'info', 'create', 'update', 'delete', 'check', 'renew', 'transfer', 'poll', 'keyrelay'], {}, class: 'form-control selectize', placeholder: t(:choose)
|
||||
= f.select :request_command_eq, [[t(:choose),''], 'hello', 'login', 'logout', 'info', 'create', 'update', 'delete', 'check', 'renew', 'transfer', 'poll'], {}, class: 'form-control selectize', placeholder: t(:choose)
|
||||
.col-md-3
|
||||
.form-group
|
||||
- opts = [[t(:choose),''], 'contact', 'domain', 'poll', 'keyrelay']
|
||||
- opts = [[t(:choose),''], 'contact', 'domain', 'poll']
|
||||
- opts += [params[:q][:request_object_cont]] if params[:q].present? && params[:q][:request_object_cont].present?
|
||||
= f.label :request_object
|
||||
= f.select :request_object_cont, opts, {}, class: 'form-control selectize_create', placeholder: t(:choose)
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
= render 'shared/title', name: t(:keyrelays)
|
||||
|
||||
.row
|
||||
.col-md-12
|
||||
= search_form_for [:admin, @q], html: { class: 'form-horizontal' } do |f|
|
||||
.col-md-11
|
||||
.form-group
|
||||
= f.search_field :domain_name_cont, class: 'form-control', placeholder: t(:domain_name)
|
||||
.col-md-1.text-right.text-center-xs
|
||||
.form-group
|
||||
%button.btn.btn-primary
|
||||
|
||||
%span.glyphicon.glyphicon-search
|
||||
|
||||
%hr
|
||||
.row
|
||||
.col-md-12
|
||||
.table-responsive
|
||||
%table.table.table-hover.table-bordered.table-condensed
|
||||
%thead
|
||||
%tr
|
||||
%th{class: 'col-xs-4'}
|
||||
= sort_link(@q, 'pa_date', t(:uploaded_at))
|
||||
%th{class: 'col-xs-3'}
|
||||
= t(:expiry)
|
||||
%th{class: 'col-xs-2'}
|
||||
= sort_link(@q, 'requester_name', t(:requester))
|
||||
%th{class: 'col-xs-2'}
|
||||
= sort_link(@q, 'accepter_name', t(:accepter))
|
||||
%th{class: 'col-xs-1'}
|
||||
= t(:status)
|
||||
%tbody
|
||||
- @keyrelays.each do |x|
|
||||
%tr
|
||||
%td= link_to(x.pa_date, [:admin, x])
|
||||
%td= x.expiry
|
||||
%td= link_to(x.requester, [:admin, x.requester])
|
||||
%td= link_to(x.accepter, [:admin, x.accepter])
|
||||
%td= x.status
|
||||
.row
|
||||
.col-md-12
|
||||
= paginate @keyrelays
|
|
@ -1,61 +0,0 @@
|
|||
= render 'shared/title', name: t(:keyrelay_details)
|
||||
|
||||
.row
|
||||
.col-md-12
|
||||
.panel.panel-default
|
||||
.panel-heading
|
||||
%h3.panel-title= t(:keyrelay)
|
||||
.panel-body{style: 'word-wrap: break-word;'}
|
||||
%dl.dl-horizontal
|
||||
%dt= t(:uploaded_at)
|
||||
%dd= @keyrelay.pa_date
|
||||
|
||||
%dt= t(:domain)
|
||||
%dd= link_to(@keyrelay.domain, [:admin, @keyrelay.domain])
|
||||
|
||||
%dt= t(:status)
|
||||
%dd= @keyrelay.status
|
||||
|
||||
%dt= t(:flag)
|
||||
%dd= @keyrelay.key_data_flags
|
||||
|
||||
%dt= t(:protocol)
|
||||
%dd= @keyrelay.key_data_protocol
|
||||
|
||||
%dt= t(:algorithm)
|
||||
%dd= @keyrelay.key_data_alg
|
||||
|
||||
%dt= t(:public_key)
|
||||
%dd= @keyrelay.key_data_public_key
|
||||
|
||||
%dt= t(:authinfo_pw)
|
||||
%dd= @keyrelay.auth_info_pw
|
||||
|
||||
%dt= t(:expiry_relative)
|
||||
%dd= @keyrelay.expiry_relative
|
||||
|
||||
%dt= t(:expiry_absolute)
|
||||
%dd= @keyrelay.expiry_absolute
|
||||
|
||||
%dt= t(:requester)
|
||||
%dd= link_to(@keyrelay.requester, [:admin, @keyrelay.requester])
|
||||
|
||||
%dt= t(:accepter)
|
||||
%dd= link_to(@keyrelay.accepter, [:admin, @keyrelay.accepter])
|
||||
|
||||
.row
|
||||
.col-md-12
|
||||
.panel.panel-default
|
||||
.panel-heading.clearfix
|
||||
= t(:legal_documents)
|
||||
.table-responsive
|
||||
%table.table.table-hover.table-bordered.table-condensed
|
||||
%thead
|
||||
%tr
|
||||
%th{class: 'col-xs-8'}= t(:created_at)
|
||||
%th{class: 'col-xs-4'}= t(:type)
|
||||
%tbody
|
||||
- @keyrelay.legal_documents.each do |x|
|
||||
%tr
|
||||
%td= link_to(x.created_at, [:admin, x])
|
||||
%td= x.document_type
|
|
@ -1,49 +0,0 @@
|
|||
xml.instruct!(:xml, standalone: 'no')
|
||||
xml.epp(
|
||||
'xmlns' => 'https://epp.tld.ee/schema/epp-ee-1.0.xsd',
|
||||
'xmlns:secDNS' => 'urn:ietf:params:xml:ns:secDNS-1.1',
|
||||
'xmlns:domain' => 'https://epp.tld.ee/schema/domain-eis-1.0.xsd',
|
||||
'xmlns:keyrelay' => 'urn:ietf:params:xml:ns:keyrelay-1.0'
|
||||
) do
|
||||
xml.response do
|
||||
xml.result('code' => '1301') do
|
||||
xml.msg 'Command completed successfully; ack to dequeue'
|
||||
end
|
||||
|
||||
xml.tag!('msgQ', 'count' => current_user.unread_notifications.count, 'id' => @notification.id) do
|
||||
xml.qDate @notification.created_at.try(:iso8601)
|
||||
xml.msg @notification.text
|
||||
end
|
||||
|
||||
xml.resData do
|
||||
xml.tag!('keyrelay:response') do
|
||||
xml.tag!('keyrelay:panData') do
|
||||
xml.tag!('keyrelay:name', @object.domain_name)
|
||||
xml.tag!('keyrelay:paDate', @object.pa_date.try(:iso8601))
|
||||
|
||||
xml.tag!('keyrelay:keyData') do
|
||||
xml.tag!('secDNS:flags', @object.key_data_flags)
|
||||
xml.tag!('secDNS:protocol', @object.key_data_protocol)
|
||||
xml.tag!('secDNS:alg', @object.key_data_alg)
|
||||
xml.tag!('secDNS:pubKey', @object.key_data_public_key)
|
||||
end
|
||||
|
||||
|
||||
xml.tag!('keyrelay:authInfo') do
|
||||
xml.tag!('domain:pw', @object.auth_info_pw)
|
||||
end
|
||||
|
||||
xml.tag!('keyrelay:expiry') do
|
||||
xml.tag!('keyrelay:relative', @object.expiry_relative)
|
||||
xml.tag!('keyrelay:absolute', @object.expiry_absolute)
|
||||
end
|
||||
|
||||
xml.tag!('keyrelay:reID', @object.requester)
|
||||
xml.tag!('keyrelay:acID', @object.accepter)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
render('epp/shared/trID', builder: xml)
|
||||
end
|
||||
end
|
|
@ -8,7 +8,6 @@ xml.epp_head do
|
|||
xml.objURI 'https://epp.tld.ee/schema/domain-eis-1.0.xsd'
|
||||
xml.objURI 'https://epp.tld.ee/schema/contact-ee-1.1.xsd'
|
||||
xml.objURI 'urn:ietf:params:xml:ns:host-1.0'
|
||||
xml.objURI 'urn:ietf:params:xml:ns:keyrelay-1.0'
|
||||
xml.svcExtension do
|
||||
xml.extURI 'urn:ietf:params:xml:ns:secDNS-1.1'
|
||||
xml.extURI 'https://epp.tld.ee/schema/eis-1.0.xsd'
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav public-nav">
|
||||
<% if can? :view, Depp::Domain %>
|
||||
<% active_class = %w(registrant/domains registrant/check registrant/renew registrant/tranfer registrant/keyrelays).include?(params[:controller]) ? 'active' :nil %>
|
||||
<% active_class = %w(registrant/domains registrant/check registrant/renew registrant/tranfer).include?(params[:controller]) ? 'active' :nil %>
|
||||
<li class="<%= active_class %>">
|
||||
<%= link_to t(:domains), registrant_domains_path %>
|
||||
</li>
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
.panel{class: 'panel-default'}
|
||||
.panel-heading.clearfix
|
||||
= t(:keyrelays)
|
||||
.table-responsive
|
||||
%table.table.table-hover.table-bordered.table-condensed
|
||||
%thead
|
||||
%tr
|
||||
%th{class: 'col-xs-4'}= t(:uploaded_at)
|
||||
%th{class: 'col-xs-3'}= t(:expiry)
|
||||
%th{class: 'col-xs-2'}= t(:requester)
|
||||
%th{class: 'col-xs-2'}= t(:accepter)
|
||||
%th{class: 'col-xs-1'}= t(:status)
|
||||
%tbody
|
||||
- @domain.keyrelays.includes([:requester, :accepter]).order(pa_date: :desc).each do |x|
|
||||
%tr
|
||||
%td= link_to(x.pa_date, [:registrar, x])
|
||||
%td= x.expiry
|
||||
%td= link_to(x.requester, [:registrar, x.requester])
|
||||
%td= link_to(x.accepter, [:registrar, x.accepter])
|
||||
%td= x.status
|
|
@ -50,9 +50,3 @@
|
|||
<%= render 'registrant/domains/partials/dnskeys' %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<%= render 'registrant/domains/partials/keyrelays' %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.navbar-collapse.collapse
|
||||
%ul.nav.navbar-nav
|
||||
- if can? :view, Depp::Domain
|
||||
- active_class = %w(registrar/domains registrar/check registrar/renew registrar/tranfer registrar/keyrelays).include?(params[:controller]) ? 'active' :nil
|
||||
- active_class = %w(registrar/domains registrar/check registrar/renew registrar/tranfer).include?(params[:controller]) ? 'active' :nil
|
||||
%li{class: active_class}= link_to t(:domains), registrar_domains_path
|
||||
|
||||
- if can? :view, Depp::Contact
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
= render 'shared/title', name: t(:keyrelay)
|
||||
|
||||
.row
|
||||
.col-md-8
|
||||
= form_tag registrar_keyrelay_path, class: 'form-horizontal', method: :post, multipart: true do
|
||||
.form-group
|
||||
.col-md-3.control-label
|
||||
= label_tag :domain_name, t(:domain_name), class: 'required'
|
||||
.col-md-7
|
||||
= text_field_tag :domain_name, params[:domain_name],
|
||||
class: 'form-control', autocomplete: 'off', required: true
|
||||
|
||||
.form-group
|
||||
.col-md-3.control-label
|
||||
= label_tag :password, t(:password), class: 'required'
|
||||
.col-md-7
|
||||
= text_field_tag :password, params[:password],
|
||||
class: 'form-control', autocomplete: 'off', required: true
|
||||
|
||||
.form-group
|
||||
.col-md-3.control-label
|
||||
= label_tag :expiry, t(:expiry), class: 'required'
|
||||
.col-md-7
|
||||
= text_field_tag :expiry, params[:expiry],
|
||||
class: 'form-control', autocomplete: 'off', required: true
|
||||
|
||||
.form-group
|
||||
.col-md-3.control-label
|
||||
= label_tag :key_data_flags, t(:flag), class: 'required'
|
||||
.col-md-7
|
||||
= select_tag :key_data_flags,
|
||||
options_for_select(Depp::Dnskey::FLAGS, params['key_data_flags']), {class: 'form-control'}
|
||||
|
||||
.form-group
|
||||
.col-md-3.control-label
|
||||
= label_tag :key_data_protocol, t(:protocol), class: 'required'
|
||||
.col-md-7
|
||||
= select_tag :key_data_protocol,
|
||||
options_for_select(Depp::Dnskey::PROTOCOLS, params['key_data_protocol']),
|
||||
{class: 'form-control'}
|
||||
|
||||
.form-group
|
||||
.col-md-3.control-label
|
||||
= label_tag :key_data_alg, t(:algorithm), class: 'required'
|
||||
.col-md-7
|
||||
= select_tag :key_data_alg,
|
||||
options_for_select(Depp::Dnskey::ALGORITHMS, params['key_data_alg']), {class: 'form-control'}
|
||||
|
||||
.form-group
|
||||
.col-md-3.control-label
|
||||
= label_tag :key_data_public_key, t(:public_key), class: 'required'
|
||||
.col-md-7
|
||||
= text_field_tag :key_data_public_key, params['key_data_public_key'],
|
||||
class: 'form-control', required: true
|
||||
|
||||
.form-group
|
||||
.col-md-3.control-label
|
||||
= label_tag :legal_document, t(:legal_document)
|
||||
.col-md-7
|
||||
= file_field_tag :legal_document
|
||||
|
||||
.form-group
|
||||
.col-md-10.text-right
|
||||
%button.btn.btn-warning= t(:upload_key)
|
|
@ -10,8 +10,6 @@
|
|||
.panel-heading.clearfix
|
||||
.pull-left= t('message_no', id: msg_q['id'])
|
||||
.pull-right
|
||||
- if @data.css('panData').any? # this is a keyrelay request
|
||||
= link_to(t(:confirm), 'javascript: void(0);', class: 'btn btn-warning btn-xs js-keyrelay-confirm')
|
||||
- if @data.css('trnData trStatus').any? # this is a transfer request
|
||||
- unless ['serverApproved', 'clientApproved'].include?(@data.css('trStatus').first.text)
|
||||
= link_to(t(:confirm), 'javascript: void(0);', class: 'btn btn-warning btn-xs js-transfer-confirm')
|
||||
|
@ -25,53 +23,14 @@
|
|||
%dd= @data.css('qDate').text
|
||||
|
||||
%dl.dl-horizontal
|
||||
/ keyrelay
|
||||
- if @data.css('panData').any?
|
||||
%dt= t(:domain_name)
|
||||
%dd= @data.css('name').text
|
||||
|
||||
%dt= t(:authinfo_pw)
|
||||
%dd= @data.css('pw').text
|
||||
|
||||
- if @data.css('relative').text.present?
|
||||
%dt= t(:expiry_relative)
|
||||
%dd= @data.css('relative').text
|
||||
|
||||
- if @data.css('absolute').text.present?
|
||||
%dt= t(:expiry_absolute)
|
||||
%dd= @data.css('absolute').text
|
||||
|
||||
%dt paDate
|
||||
%dd= @data.css('paDate').text
|
||||
|
||||
%dt= t(:flag)
|
||||
%dd= @data.css('flags').text
|
||||
|
||||
%dt= t(:protocol)
|
||||
%dd= @data.css('protocol').text
|
||||
|
||||
%dt= t(:algorithm)
|
||||
%dd= @data.css('alg').text
|
||||
|
||||
%dt= t(:public_key)
|
||||
%dd= @data.css('pubKey').text
|
||||
|
||||
= form_tag confirm_keyrelay_registrar_poll_path, class: 'js-keyrelay-form' do
|
||||
- if @data.css('trnData trStatus').any? # this is a transfer request
|
||||
= form_tag confirm_transfer_registrar_poll_path, class: 'js-transfer-form' do
|
||||
= hidden_field_tag 'domain[name]', @data.css('name').text
|
||||
= hidden_field_tag 'domain[dnskeys_attributes][0][flags]', @data.css('flags').text
|
||||
= hidden_field_tag 'domain[dnskeys_attributes][0][protocol]', @data.css('protocol').text
|
||||
= hidden_field_tag 'domain[dnskeys_attributes][0][alg]', @data.css('alg').text
|
||||
= hidden_field_tag 'domain[dnskeys_attributes][0][public_key]', @data.css('pubKey').text
|
||||
|
||||
- else
|
||||
- if @data.css('trnData trStatus').any? # this is a transfer request
|
||||
= form_tag confirm_transfer_registrar_poll_path, class: 'js-transfer-form' do
|
||||
= hidden_field_tag 'domain[name]', @data.css('name').text
|
||||
|
||||
- @data.css('trnData').children.each do |x|
|
||||
- next if x.blank?
|
||||
%dt= t(x.name)
|
||||
%dd= x.text
|
||||
- @data.css('trnData').children.each do |x|
|
||||
- next if x.blank?
|
||||
%dt= t(x.name)
|
||||
%dd= x.text
|
||||
- else
|
||||
.row
|
||||
.col-sm-12
|
||||
|
@ -83,9 +42,6 @@
|
|||
|
||||
:coffee
|
||||
load_listener = ->
|
||||
$(".js-keyrelay-confirm").on "click", ->
|
||||
$(".js-keyrelay-form").submit()
|
||||
|
||||
$(".js-transfer-confirm").on "click", ->
|
||||
$(".js-transfer-form").submit()
|
||||
window.addEventListener 'load', load_listener
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd" xmlns:ext="urn:ietf:params:xml:ns:keyrelay-1.0">
|
||||
<command>
|
||||
<ext:keyrelay>
|
||||
<ext:name>example6.ee</ext:name>
|
||||
<ext:keyData>
|
||||
<secDNS:flags>256</secDNS:flags>
|
||||
<secDNS:protocol>3</secDNS:protocol>
|
||||
<secDNS:alg>8</secDNS:alg>
|
||||
<secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
|
||||
</ext:keyData>
|
||||
<ext:authInfo>
|
||||
<domain:pw>7521f360ae480e67c3096e4c046beb84</domain:pw>
|
||||
</ext:authInfo>
|
||||
<ext:expiry>
|
||||
<ext:relative>P1D</ext:relative>
|
||||
</ext:expiry>
|
||||
</ext:keyrelay>
|
||||
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">dGVzdCBmYWlsCg==</eis:legalDocument>
|
||||
</eis:extdata>
|
||||
<ext:clTRID>1422542244</ext:clTRID>
|
||||
</command>
|
||||
</epp>
|
Loading…
Add table
Add a link
Reference in a new issue