Basic domain show

This commit is contained in:
Martin Lensment 2014-09-05 17:38:51 +03:00
parent c1d41df64f
commit 9a62319142
13 changed files with 171 additions and 39 deletions

View file

@ -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

View file

@ -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

View file

@ -23,4 +23,8 @@ class Nameserver < ActiveRecord::Base
]
}
end
def to_s
hostname
end
end

View file

@ -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

View 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')

View 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)

View 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')

View 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

View 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')

View 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'

View file

@ -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')

View file

@ -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')

View file

@ -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'