From c4f6ad0bd92e20b3308bc0ae173456eb86b1db29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20Keskk=C3=BCla?= Date: Wed, 19 Nov 2014 15:46:04 +0200 Subject: [PATCH] Domain info under history --- app/models/domain.rb | 7 ++- app/views/admin/domain_versions/_history.haml | 56 ------------------- app/views/admin/domain_versions/_version.haml | 15 +++++ app/views/admin/domain_versions/show.haml | 1 + config/locales/en.yml | 1 + spec/models/domain_version_spec.rb | 30 ++++++---- 6 files changed, 43 insertions(+), 67 deletions(-) delete mode 100644 app/views/admin/domain_versions/_history.haml diff --git a/app/models/domain.rb b/app/models/domain.rb index 22ecdc4c7..99b87c1b3 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -99,7 +99,12 @@ class Domain < ActiveRecord::Base def make_snapshot { name: name, - status: status + status: status, + period: period, + period_unit: period_unit, + registrar_id: registrar.try(:id), + valid_to: valid_to, + valid_from: valid_from } end diff --git a/app/views/admin/domain_versions/_history.haml b/app/views/admin/domain_versions/_history.haml deleted file mode 100644 index 96bbe252b..000000000 --- a/app/views/admin/domain_versions/_history.haml +++ /dev/null @@ -1,56 +0,0 @@ -%tr.clickable{"data-target" => "#accordion-#{index}", "data-toggle" => "collapse"} - %td=version.whodunnit #contact.name if contact - %td=version.event #contact.ident if contact - %td=version.created_at #contact.email if contact - -%tr - %td{colspan: "3"} - .collapse{ id: "accordion-#{index}" } - .row - .col-md-6 - %dl.dl-horizontal - %dt= t('shared.name') - %dd= domain.name - %dt= t('shared.status') - %dd= domain.status - %dt= t('shared.valid_from') - %dd= domain.valid_from - %dt= t('shared.valid_to') - %dd= domain.valid_to - %dt= t('shared.period') - %dd= domain.period - %dt= t('shared.period_unit') - %dd= domain.period_unit - %dt= t('shared.status') - %dd= domain.status - .col-md-6 - %dl.dl-horizontal - - if domain.nameservers - - domain.nameservers.each do |ns| - %dt= t('shared.hostname') - %dd= ns.hostname - %dt= t('shared.ipv4') - %dd= ns.ipv4 - - if domain.domain_statuses - - domain.domain_statuses.each do |ds| - %dt= t('shared.value') - %dd= ds.value - %dt= t('shared.description') - %dd= ds.description - - .row - .col-md-12 - - if domain.owner_contact - %h2= t('shared.contacts') - = render 'admin/contact_versions/history', contact: domain.owner_contact - - .row - .col-md-12 - - if domain.domain_contacts - .row - - if domain.tech_contacts - - domain.tech_contacts.each do |contact| - = render 'admin/contact_versions/history', contact: contact - - if domain.admin_contacts - - domain.admin_contacts.each do |contact| - = render 'admin/contact_versions/history', contact: contact diff --git a/app/views/admin/domain_versions/_version.haml b/app/views/admin/domain_versions/_version.haml index 2b397818a..9b00799ca 100644 --- a/app/views/admin/domain_versions/_version.haml +++ b/app/views/admin/domain_versions/_version.haml @@ -1,3 +1,18 @@ +%td{ class: changes.include?(:domain) ? 'edit-highlight' : 'no-highlight' } + - if children[:domain] + %p{:style => "font-size:x-small;"} + = children[:domain][:period] + = children[:domain][:period_unit] if children[:domain][:period] + - if children[:domain][:valid_to] && children[:domain][:valid_from] + = "," + = l(children[:domain][:valid_from], format: :date) + '-' + l(children[:domain][:valid_to], format: :date) + - if children[:domain].try(:[], :registrar_id) + = "," + = Registrar.find(children[:domain][:registrar_id]).try(:name) + - if children[:domain][:status] + = ',' + children[:domain][:status] + + %td{ class: changes.include?(:owner_contact) ? 'edit-highlight' : 'no-highlight' } - if children[:owner_contact] %p{:style => "font-size:x-small;"} diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml index 70dfeb8f2..241c508aa 100644 --- a/app/views/admin/domain_versions/show.haml +++ b/app/views/admin/domain_versions/show.haml @@ -12,6 +12,7 @@ %table.table-hover.table-bordered.table-condensed %thead %tr + %th{class: 'col-xs-2'}= t(:'shared.domain_info') %th{class: 'col-xs-2'}= t(:'shared.owner_contact') %th{class: 'col-xs-2'}= t(:'shared.admin_contacts') %th{class: 'col-xs-2'}= t(:'shared.tech_contacts') diff --git a/config/locales/en.yml b/config/locales/en.yml index 41f08825b..bcbc7d46e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -43,6 +43,7 @@ en: longer: "%a, %e. %b %Y, %H:%M" long: "%A, %e. %B %Y, %H:%M" short: "%d.%m.%y, %H:%M" + date: "%d.%m.%y" date: formats: diff --git a/spec/models/domain_version_spec.rb b/spec/models/domain_version_spec.rb index 63388ea40..b51ce6427 100644 --- a/spec/models/domain_version_spec.rb +++ b/spec/models/domain_version_spec.rb @@ -54,7 +54,7 @@ describe DomainVersion do expect(DomainVersion.count).to eq(2) expect(DomainVersion.last.load_snapshot).to include({ admin_contacts: [], - domain: { name: 'version.ee', status: nil }, + # domain: { name: 'version.ee', status: nil }, nameservers: [], tech_contacts: [] }) @@ -104,9 +104,15 @@ describe DomainVersion do expect(DomainVersion.last.load_snapshot[:admin_contacts].first).to include( name: 'admin_contact 1', phone: '+372.12345678', ident: '37605030299', email: 'admin1@v.ee' ) - expect(DomainVersion.last.load_snapshot[:domain]).to eq( - { name: 'version.ee', status: nil } - ) + + expect(DomainVersion.last.load_snapshot[:domain][:name]).to eq('version.ee') + expect(DomainVersion.last.load_snapshot[:domain][:status]).to eq(nil) + expect(DomainVersion.last.load_snapshot[:domain][:period]).to eq(1) + expect(DomainVersion.last.load_snapshot[:domain][:period_unit]).to eq('y') + expect(DomainVersion.last.load_snapshot[:domain][:valid_from]).to eq(Time.now.utc.beginning_of_day) + expect(DomainVersion.last.load_snapshot[:domain][:valid_to]).to eq(Time.now.utc.beginning_of_day + 1.year) + expect(DomainVersion.last.load_snapshot[:domain][:period]).to eq(1) + expect(DomainVersion.last.load_snapshot[:nameservers].size).to eq(1) expect(DomainVersion.last.load_snapshot[:nameservers].first).to include( hostname: 'ns.test.ee', ipv4: nil, ipv6: nil @@ -127,9 +133,11 @@ describe DomainVersion do expect(DomainVersion.last.load_snapshot[:admin_contacts].first).to include( name: 'admin_contact 1', phone: '+372.12345678', ident: '37605030299', email: 'admin1@v.ee' ) - expect(DomainVersion.last.load_snapshot[:domain]).to eq( - { name: 'version.ee', status: nil } - ) + expect(DomainVersion.last.load_snapshot[:domain][:name]).to eq('version.ee') + expect(DomainVersion.last.load_snapshot[:domain][:status]).to eq(nil) + expect(DomainVersion.last.load_snapshot[:domain][:period]).to eq(1) + expect(DomainVersion.last.load_snapshot[:domain][:period_unit]).to eq('y') + expect(DomainVersion.last.load_snapshot[:nameservers].size).to eq(1) expect(DomainVersion.last.load_snapshot[:nameservers].first).to include( hostname: 'ns.test.ee', ipv4: nil, ipv6: nil @@ -163,9 +171,11 @@ describe DomainVersion do expect(DomainVersion.last.load_snapshot[:admin_contacts].first).to include( name: 'edited admin_contact', phone: '+372.12345678', ident: '37605030299', email: 'admin1@v.ee' ) - expect(DomainVersion.last.load_snapshot[:domain]).to eq( - { name: 'version.ee', status: nil } - ) + expect(DomainVersion.last.load_snapshot[:domain][:name]).to eq('version.ee') + expect(DomainVersion.last.load_snapshot[:domain][:status]).to eq(nil) + expect(DomainVersion.last.load_snapshot[:domain][:period]).to eq(1) + expect(DomainVersion.last.load_snapshot[:domain][:period_unit]).to eq('y') + expect(DomainVersion.last.load_snapshot[:nameservers].size).to eq(1) expect(DomainVersion.last.load_snapshot[:nameservers].first).to include( hostname: 'ns.test.ee', ipv4: nil, ipv6: nil