story#115762063 - use special helper method to generate class name

This commit is contained in:
Vladimir Krylov 2016-03-23 18:28:40 +02:00
parent 306819eeaf
commit bcc8e7b6f8
5 changed files with 59 additions and 33 deletions

View file

@ -72,4 +72,15 @@ module ApplicationHelper
link_to(title, url_for(sort: {param_name => order}), class: "sort_link #{order}")
end
def changing_css_class(version, *attrs)
return unless version
css_class = "text-warning"
if attrs.size == 1
version.object_changes.to_h[attrs.first] && css_class
else
version.object_changes.to_h.slice(*attrs).any? && css_class
end
end
end

View file

@ -731,7 +731,8 @@ class Domain < ActiveRecord::Base
log[:tech_contacts] = tech_contact_ids
log[:nameservers] = nameserver_ids
log[:registrant] = [registrant_id]
log[:domain_statuses] = domain_status_ids
log[:domain_statuses]= domain_status_ids
log[:dnskeys] = dnskeys_ids
log
end

View file

@ -1,4 +1,6 @@
= render 'shared/title', name: @version.reify.name
- contact = Contact.new(@version.object.to_h)
- @version.object_changes.to_h.each{|k,v| contact[k]=v.last}
= render 'shared/title', name: contact.name
.row
.col-md-8
@ -11,55 +13,64 @@
.panel-body
%dl.dl-horizontal
%dt= t(:id)
%dd= @version.reify.code
%dd{class: changing_css_class(@version,"code")}
= contact.code
%dt= t(:statuses)
%dd{class: changing_css_class(@version,"statuses")}
= contact.statuses.join(", ")
%dt= t(:ident)
%dd= ident_for(@version.reify)
%dd{class: changing_css_class(@version,"ident_country_code", "ident_type", "ident")}
= ident_for(contact)
%dt= t(:email)
%dd= @version.reify.email
%dd{class: changing_css_class(@version,"email")}
= contact.email
%dt= t(:phone)
%dd= @version.reify.phone
%dd{class: changing_css_class(@version,"phone")}
= contact.phone
- if @version.reify.fax
- if contact.fax
%dt= t(:fax)
%dd= @version.reify.fax
%dd{class: changing_css_class(@version,"fax")}
= contact.fax
%br
%dt= t(:created)
%dd
= l(@version.reify.created_at, format: :short)
%dd{class: changing_css_class(@version,"created_at")}
= l(contact.created_at, format: :short)
%dt= t(:updated)
%dd
= l(@version.reify.updated_at, format: :short)
%dd{class: changing_css_class(@version,"updated_at")}
= l(contact.updated_at, format: :short)
%dt= t(:registrar)
%dd
- if @version.reify.registrar.present?
= link_to(@version.reify.registrar, admin_registrar_path(@version.reify.registrar))
%dd{class: changing_css_class(@version,"registrar_id")}
- if contact.registrar.present?
= link_to(contact.registrar, admin_registrar_path(contact.registrar))
%dl.dl-horizontal
- if @version.reify.org_name.present?
- if contact.org_name.present?
%dt= t(:org_name)
%dd= @version.reify.org_name
%dd{class: changing_css_class(@version,"org_name")}= contact.org_name
%dt= t(:street)
%dd= @version.reify.street.to_s.gsub("\n", '<br>').html_safe
%dd{class: changing_css_class(@version,"street")}= contact.street.to_s.gsub("\n", '<br>').html_safe
%dt= t(:city)
%dd= @version.reify.city
%dd{class: changing_css_class(@version,"city")}= contact.city
%dt= t(:zip)
%dd= @version.reify.zip
%dd{class: changing_css_class(@version,"zip")}= contact.zip
%dt= t(:state)
%dd= @version.reify.state
%dd{class: changing_css_class(@version,"state")}= contact.state
%dt= t(:country)
%dd= @version.reify.country
%dd{class: changing_css_class(@version,"country_code")}= contact.country
%span{:style => "padding-right:10px; float: right;"}

View file

@ -1,4 +1,6 @@
= render 'shared/title', name: @version.reify.name
- domain = Domain.new(@version.object.to_h)
- @version.object_changes.to_h.each{|k,v| domain[k]=v.last}
- if @version
- children = HashWithIndifferentAccess.new(@version.children)
@ -8,7 +10,6 @@
- registrant = Contact.all_versions_for(children[:registrant], @version.created_at)
- event = @version.event
- creator = plain_username(@version.terminator)
- domain = @version.reify
.row
@ -22,16 +23,16 @@
.panel-body
%dl.dl-horizontal
%dt= t(:name)
%dd= link_to(@version.reify.name, admin_domain_path(@version.item_id))
%dd= link_to(domain.name, admin_domain_path(@version.item_id))
%dt= t(:statuses)
%dd{class: @version.object_changes.to_h["statuses"] && "text-warning"}
- if @version.reify.statuses.present?
- @version.reify.statuses.each do |s|
%dd{class: changing_css_class(@version,"statuses")}
- if domain.statuses.present?
- domain.statuses.each do |s|
= s
%dt= t(:registrant)
%dd{class: @version.object_changes.to_h["registrant_id"] && "text-warning"}
%dd{class: changing_css_class(@version,"registrant_id")}
- registrant.each do |r|
- link = r.version_loader ? admin_contact_version_path(r.version_loader.try(:id)) : admin_contact_path(r.id)
= link_to link, target: "contact_#{r.id}" do
@ -70,10 +71,12 @@
= ns[:ipv4]
= ns[:ipv6]
%br
%dt= t(:registrar)
%dd{class: @version.object_changes.to_h["registrar_id"] && "text-warning"}
%dd{class: changing_css_class(@version,"registrar_id")}
= link_to admin_registrar_path(domain.registrar), target: "registrar_#{domain.registrar.id}" do
= @version.reify.registrar.name
= domain.registrar.name
%span{:style => "padding-right:10px; padding-top:40px; float: right; bottom: 10px;"}
- if @version.previous
= link_to(t(:previous),

View file

@ -31,7 +31,7 @@
%br
= creator
%td{class: version && version.object_changes.to_h["statuses"] && "warning"}
%td{class: changing_css_class(version,"statuses")}
%p
- if domain.statuses.present?
- domain.statuses.each do |s|
@ -46,7 +46,7 @@
%p
= link_to t(:pending_epp), '#', class: 'js-pending-toggle'
%td{class: version && version.object_changes.to_h.slice("period", "period_unit", "valid_from", "valid_to").any? && "warning"}
%td{class: changing_css_class(version, "period", "period_unit", "valid_from", "valid_to")}
%p
= "#{domain.period}#{domain.period_unit}"
%br
@ -96,7 +96,7 @@
= ns[:ipv6].presence
%br
%td
%td{class: changing_css_class(version,"registrar_id")}
- if domain.registrar
%p
= link_to admin_registrar_path(domain.registrar), target: "registrar_#{domain.registrar.id}" do