mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
Basic domain show
This commit is contained in:
parent
c1d41df64f
commit
9a62319142
13 changed files with 171 additions and 39 deletions
|
@ -1,6 +1,14 @@
|
||||||
class Admin::DomainsController < ApplicationController
|
class Admin::DomainsController < ApplicationController
|
||||||
|
before_action :set_domain, only: [:show]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@q = Domain.search(params[:q])
|
@q = Domain.search(params[:q])
|
||||||
@domains = @q.result.page(params[:page])
|
@domains = @q.result.page(params[:page])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def set_domain
|
||||||
|
@domain = Domain.find(params[:id])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -30,6 +30,9 @@ class Domain < ActiveRecord::Base
|
||||||
has_many :domain_transfers, dependent: :delete_all
|
has_many :domain_transfers, dependent: :delete_all
|
||||||
|
|
||||||
delegate :code, to: :owner_contact, prefix: true
|
delegate :code, to: :owner_contact, prefix: true
|
||||||
|
delegate :email, to: :owner_contact, prefix: true
|
||||||
|
delegate :ident, to: :owner_contact, prefix: true
|
||||||
|
delegate :phone, to: :owner_contact, prefix: true
|
||||||
delegate :name, to: :registrar, prefix: true
|
delegate :name, to: :registrar, prefix: true
|
||||||
|
|
||||||
before_create :generate_auth_info
|
before_create :generate_auth_info
|
||||||
|
|
|
@ -23,4 +23,8 @@ class Nameserver < ActiveRecord::Base
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def to_s
|
||||||
|
hostname
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,25 +3,27 @@
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.table-responsive
|
.table-responsive
|
||||||
%table.table.table-striped.table-bordered.table-condensed
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
%tr
|
%thead
|
||||||
%th{class: 'col-xs-2'}
|
|
||||||
= sort_link(@q, 'name')
|
|
||||||
%th{class: 'col-xs-2'}
|
|
||||||
= sort_link(@q, 'registrar_name', t('shared.registrar'))
|
|
||||||
%th{class: 'col-xs-2'}
|
|
||||||
= sort_link(@q, 'owner_contact_international_address_name', t('shared.owner'))
|
|
||||||
%th{class: 'col-xs-1'}
|
|
||||||
= sort_link(@q, 'valid_to', t('shared.valid_to'))
|
|
||||||
%th{class: 'col-xs-1'}
|
|
||||||
= t('shared.action')
|
|
||||||
- @domains.each do |x|
|
|
||||||
%tr
|
%tr
|
||||||
%td= link_to(x, admin_domain_path(x))
|
%th{class: 'col-xs-2'}
|
||||||
%td= link_to(x.registrar, root_path) if x.registrar
|
= sort_link(@q, 'name')
|
||||||
%td= link_to(x.owner_contact, root_path)
|
%th{class: 'col-xs-2'}
|
||||||
%td= l(x.valid_to, format: :short)
|
= sort_link(@q, 'registrar_name', t('shared.registrar'))
|
||||||
%td= link_to(t('shared.edit'), edit_admin_domain_path(x), class: 'btn btn-primary btn-xs')
|
%th{class: 'col-xs-2'}
|
||||||
|
= sort_link(@q, 'owner_contact_international_address_name', t('shared.owner'))
|
||||||
|
%th{class: 'col-xs-1'}
|
||||||
|
= sort_link(@q, 'valid_to', t('shared.valid_to'))
|
||||||
|
%th{class: 'col-xs-1'}
|
||||||
|
= t('shared.action')
|
||||||
|
%tbody
|
||||||
|
- @domains.each do |x|
|
||||||
|
%tr
|
||||||
|
%td= link_to(x, admin_domain_path(x))
|
||||||
|
%td= link_to(x.registrar, root_path) if x.registrar
|
||||||
|
%td= link_to(x.owner_contact, root_path)
|
||||||
|
%td= l(x.valid_to, format: :short)
|
||||||
|
%td= link_to(t('shared.edit'), edit_admin_domain_path(x), class: 'btn btn-primary btn-xs')
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
= paginate @domains
|
= paginate @domains
|
||||||
|
|
15
app/views/admin/domains/partials/_admin_contacts.haml
Normal file
15
app/views/admin/domains/partials/_admin_contacts.haml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading= t('shared.admin_contacts')
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th{class: 'col-xs-4'}= t('shared.name')
|
||||||
|
%th{class: 'col-xs-5'}= t('shared.email')
|
||||||
|
%th{class: 'col-xs-3'}= t('shared.action')
|
||||||
|
%tbody
|
||||||
|
- @domain.admin_contacts.each do |x|
|
||||||
|
%tr
|
||||||
|
%td= link_to(x, root_path)
|
||||||
|
%td= x.email
|
||||||
|
%td= link_to(t('shared.edit'), root_path, class: 'btn btn-primary btn-xs')
|
22
app/views/admin/domains/partials/_general.haml
Normal file
22
app/views/admin/domains/partials/_general.haml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t('shared.general')
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
%dt= t('shared.name')
|
||||||
|
%dd= @domain.name
|
||||||
|
|
||||||
|
%dt= t('shared.registered_at')
|
||||||
|
%dd= l(@domain.registered_at)
|
||||||
|
|
||||||
|
%dt= t('shared.registrar')
|
||||||
|
%dd= link_to(@domain.registrar, root_path)
|
||||||
|
|
||||||
|
%dt= t('shared.password')
|
||||||
|
%dd= @domain.auth_info
|
||||||
|
|
||||||
|
%dt= t('shared.valid_from')
|
||||||
|
%dd= l(@domain.valid_from)
|
||||||
|
|
||||||
|
%dt= t('shared.valid_to')
|
||||||
|
%dd= l(@domain.valid_to)
|
17
app/views/admin/domains/partials/_nameservers.haml
Normal file
17
app/views/admin/domains/partials/_nameservers.haml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading= t('shared.nameservers')
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th{class: 'col-xs-3'}= t('shared.hostname')
|
||||||
|
%th{class: 'col-xs-3'}= t('shared.ipv4')
|
||||||
|
%th{class: 'col-xs-3'}= t('shared.ipv6')
|
||||||
|
%th{class: 'col-xs-3'}= t('shared.action')
|
||||||
|
%tbody
|
||||||
|
- @domain.nameservers.each do |x|
|
||||||
|
%tr
|
||||||
|
%td= link_to(x, root_path)
|
||||||
|
%td= x.ipv4
|
||||||
|
%td= x.ipv6
|
||||||
|
%td= link_to(t('shared.edit'), root_path, class: 'btn btn-primary btn-xs')
|
19
app/views/admin/domains/partials/_owner.haml
Normal file
19
app/views/admin/domains/partials/_owner.haml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading
|
||||||
|
%h3.panel-title= t('shared.owner')
|
||||||
|
.panel-body
|
||||||
|
%dl.dl-horizontal
|
||||||
|
%dt= t('shared.name')
|
||||||
|
%dd= link_to(@domain.owner_contact, root_path)
|
||||||
|
|
||||||
|
%dt= t('shared.code')
|
||||||
|
%dd= @domain.owner_contact_code
|
||||||
|
|
||||||
|
%dt= t('shared.identity_code')
|
||||||
|
%dd= @domain.owner_contact_ident
|
||||||
|
|
||||||
|
%dt= t('shared.email')
|
||||||
|
%dd= @domain.owner_contact_email
|
||||||
|
|
||||||
|
%dt= t('shared.phone')
|
||||||
|
%dd= @domain.owner_contact_phone
|
15
app/views/admin/domains/partials/_tech_contacts.haml
Normal file
15
app/views/admin/domains/partials/_tech_contacts.haml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
.panel.panel-default
|
||||||
|
.panel-heading= t('shared.tech_contacts')
|
||||||
|
.table-responsive
|
||||||
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th{class: 'col-xs-4'}= t('shared.name')
|
||||||
|
%th{class: 'col-xs-5'}= t('shared.email')
|
||||||
|
%th{class: 'col-xs-3'}= t('shared.action')
|
||||||
|
%tbody
|
||||||
|
- @domain.tech_contacts.each do |x|
|
||||||
|
%tr
|
||||||
|
%td= link_to(x, root_path)
|
||||||
|
%td= x.email
|
||||||
|
%td= link_to(t('shared.edit'), root_path, class: 'btn btn-primary btn-xs')
|
11
app/views/admin/domains/show.haml
Normal file
11
app/views/admin/domains/show.haml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
%h2= "#{t('shared.domain_details')}"
|
||||||
|
%hr
|
||||||
|
.row
|
||||||
|
.col-md-6= render 'admin/domains/partials/general'
|
||||||
|
.col-md-6= render 'admin/domains/partials/owner'
|
||||||
|
.row
|
||||||
|
.col-md-12= render 'admin/domains/partials/tech_contacts'
|
||||||
|
.row
|
||||||
|
.col-md-12= render 'admin/domains/partials/admin_contacts'
|
||||||
|
.row
|
||||||
|
.col-md-12= render 'admin/domains/partials/nameservers'
|
|
@ -3,13 +3,15 @@
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.table-responsive
|
.table-responsive
|
||||||
%table.table.table-striped.table-bordered.table-condensed
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
%tr
|
%thead
|
||||||
%th{class: 'col-xs-9'}
|
|
||||||
= sort_link(@q, 'code', t('shared.setting_group'))
|
|
||||||
%th{class: 'col-xs-2'}
|
|
||||||
= t('shared.action')
|
|
||||||
- @setting_groups.each do |x|
|
|
||||||
%tr
|
%tr
|
||||||
%td= t("setting_groups.codes.#{x.code}")
|
%th{class: 'col-xs-9'}
|
||||||
%td= link_to(t('shared.edit_settings'), admin_setting_group_path(x), class: 'btn btn-primary btn-xs')
|
= sort_link(@q, 'code', t('shared.setting_group'))
|
||||||
|
%th{class: 'col-xs-2'}
|
||||||
|
= t('shared.action')
|
||||||
|
%tbody
|
||||||
|
- @setting_groups.each do |x|
|
||||||
|
%tr
|
||||||
|
%td= t("setting_groups.codes.#{x.code}")
|
||||||
|
%td= link_to(t('shared.edit_settings'), admin_setting_group_path(x), class: 'btn btn-primary btn-xs')
|
||||||
|
|
|
@ -4,17 +4,19 @@
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.table-responsive
|
.table-responsive
|
||||||
%table.table.table-striped.table-bordered.table-condensed
|
%table.table.table-hover.table-bordered.table-condensed
|
||||||
%tr
|
%thead
|
||||||
%th{class: 'col-xs-9'}
|
%tr
|
||||||
= t('shared.setting')
|
%th{class: 'col-xs-9'}
|
||||||
%th{class: 'col-xs-2'}
|
= t('shared.setting')
|
||||||
= t('shared.value')
|
%th{class: 'col-xs-2'}
|
||||||
- @setting_group.settings.order(:code).each do |setting|
|
= t('shared.value')
|
||||||
= f.fields_for :settings, setting do |sf|
|
%tbody
|
||||||
%tr
|
- @setting_group.settings.order(:code).each do |setting|
|
||||||
%td= sf.label :value, t("settings.codes.#{sf.object.code}")
|
= f.fields_for :settings, setting do |sf|
|
||||||
%td= sf.text_field(:value, autocomplete: 'off')
|
%tr
|
||||||
|
%td= sf.label :value, t("settings.codes.#{sf.object.code}")
|
||||||
|
%td= sf.text_field(:value, autocomplete: 'off')
|
||||||
.row
|
.row
|
||||||
.col-md-12.text-right
|
.col-md-12.text-right
|
||||||
%button.btn.btn-primary=t('shared.save')
|
%button.btn.btn-primary=t('shared.save')
|
||||||
|
|
|
@ -157,10 +157,22 @@ en:
|
||||||
registrars: 'Registrars'
|
registrars: 'Registrars'
|
||||||
valid_to: 'Valid to'
|
valid_to: 'Valid to'
|
||||||
name: 'Name'
|
name: 'Name'
|
||||||
|
|
||||||
transfer_can_be_approved_only_by_current_registrar: 'Transfer can be approved only by current domain registrar'
|
transfer_can_be_approved_only_by_current_registrar: 'Transfer can be approved only by current domain registrar'
|
||||||
edit_settings: 'Edit settings'
|
edit_settings: 'Edit settings'
|
||||||
setting_group: 'Setting group'
|
setting_group: 'Setting group'
|
||||||
setting: 'Setting'
|
setting: 'Setting'
|
||||||
registrar: 'Registrar'
|
registrar: 'Registrar'
|
||||||
owner: 'Owner'
|
owner: 'Owner'
|
||||||
|
domain_details: 'Domain details'
|
||||||
|
registered_at: 'Registered at'
|
||||||
|
password: 'Password'
|
||||||
|
valid_from: 'Valid from'
|
||||||
|
general: 'General'
|
||||||
|
contacts: 'Contacts'
|
||||||
|
tech_contacts: 'Technical contacts'
|
||||||
|
admin_contacts: 'Admin contacts'
|
||||||
|
identity_code: 'Identity code'
|
||||||
|
nameservers: 'Nameservers'
|
||||||
|
hostname: 'Hostname'
|
||||||
|
ipv4: 'IPv4'
|
||||||
|
ipv6: 'IPv6'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue