diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index 46a79190b..248d58538 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -67,7 +67,9 @@ - else - contact = Contact.all_versions_for([domain.registrant_id], version.created_at).first - if contact.nil? && ver = Version::ContactVersion.where(item_id: domain.registrant_id).last - - contact = Contact.new(ver.object.to_h.merge(ver.object_changes.to_h.each_with_object({}) {|(k,v), o| o[k] = v.last })) + - merged_obj = ver.object_changes.to_h.each_with_object({}) {|(k,v), o| o[k] = v.last } + - result = ver.object.to_h.merge(merged_obj)&.slice(*Contact&.column_names) + - contact = Contact.new(result) = contact.try(:name) = " ".html_safe = "(#{t(:deleted)})" diff --git a/test/system/admin_area/contact_versions_test.rb b/test/system/admin_area/contact_versions_test.rb index 2559a203f..801353e28 100644 --- a/test/system/admin_area/contact_versions_test.rb +++ b/test/system/admin_area/contact_versions_test.rb @@ -24,8 +24,9 @@ class ContactVersionsTest < ApplicationSystemTestCase INSERT INTO log_contacts (item_type, item_id, event, whodunnit, object, object_changes, created_at, session, children, ident_updated_at, uuid) VALUES ('Contact', 75, 'update', '1-AdminUser', - '{"id": 75, "code": "test_code", "auth_info": "8b4d462aa04194ca78840a", "registrar_id": #{@registrar.id}, "old_field": "value"}', - '{"other_made_up_field": "value"}', + '{"id": 75, "code": "test_code", "auth_info": "8b4d462aa04194ca78840a", "registrar_id": #{@registrar.id}, "old_field": "value", + "legal_id": "123"}', + '{"other_made_up_field": "value"}', '2018-04-23 15:50:48.113491', '2018-04-23 12:44:56', '{"legal_documents":[null]}', null, null )