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
|
||||
before_action :set_domain, only: [:show]
|
||||
|
||||
def index
|
||||
@q = Domain.search(params[:q])
|
||||
@domains = @q.result.page(params[:page])
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_domain
|
||||
@domain = Domain.find(params[:id])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -30,6 +30,9 @@ class Domain < ActiveRecord::Base
|
|||
has_many :domain_transfers, dependent: :delete_all
|
||||
|
||||
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
|
||||
|
||||
before_create :generate_auth_info
|
||||
|
|
|
@ -23,4 +23,8 @@ class Nameserver < ActiveRecord::Base
|
|||
]
|
||||
}
|
||||
end
|
||||
|
||||
def to_s
|
||||
hostname
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,25 +3,27 @@
|
|||
.row
|
||||
.col-md-12
|
||||
.table-responsive
|
||||
%table.table.table-striped.table-bordered.table-condensed
|
||||
%tr
|
||||
%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|
|
||||
%table.table.table-hover.table-bordered.table-condensed
|
||||
%thead
|
||||
%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')
|
||||
%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')
|
||||
%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
|
||||
.col-md-12
|
||||
= 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
|
||||
.col-md-12
|
||||
.table-responsive
|
||||
%table.table.table-striped.table-bordered.table-condensed
|
||||
%tr
|
||||
%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|
|
||||
%table.table.table-hover.table-bordered.table-condensed
|
||||
%thead
|
||||
%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')
|
||||
%th{class: 'col-xs-9'}
|
||||
= 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
|
||||
.col-md-12
|
||||
.table-responsive
|
||||
%table.table.table-striped.table-bordered.table-condensed
|
||||
%tr
|
||||
%th{class: 'col-xs-9'}
|
||||
= t('shared.setting')
|
||||
%th{class: 'col-xs-2'}
|
||||
= t('shared.value')
|
||||
- @setting_group.settings.order(:code).each do |setting|
|
||||
= f.fields_for :settings, setting do |sf|
|
||||
%tr
|
||||
%td= sf.label :value, t("settings.codes.#{sf.object.code}")
|
||||
%td= sf.text_field(:value, autocomplete: 'off')
|
||||
%table.table.table-hover.table-bordered.table-condensed
|
||||
%thead
|
||||
%tr
|
||||
%th{class: 'col-xs-9'}
|
||||
= t('shared.setting')
|
||||
%th{class: 'col-xs-2'}
|
||||
= t('shared.value')
|
||||
%tbody
|
||||
- @setting_group.settings.order(:code).each do |setting|
|
||||
= f.fields_for :settings, setting do |sf|
|
||||
%tr
|
||||
%td= sf.label :value, t("settings.codes.#{sf.object.code}")
|
||||
%td= sf.text_field(:value, autocomplete: 'off')
|
||||
.row
|
||||
.col-md-12.text-right
|
||||
%button.btn.btn-primary=t('shared.save')
|
||||
|
|
|
@ -157,10 +157,22 @@ en:
|
|||
registrars: 'Registrars'
|
||||
valid_to: 'Valid to'
|
||||
name: 'Name'
|
||||
|
||||
transfer_can_be_approved_only_by_current_registrar: 'Transfer can be approved only by current domain registrar'
|
||||
edit_settings: 'Edit settings'
|
||||
setting_group: 'Setting group'
|
||||
setting: 'Setting'
|
||||
registrar: 'Registrar'
|
||||
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