From 739752ec59e9abd73f4d738a3090d5ee507c13bd Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Fri, 28 May 2021 11:06:48 +0300 Subject: [PATCH 1/6] added fix --- app/views/admin/domain_versions/archive.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index 46a79190b..500675f62 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -67,7 +67,7 @@ - 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 })) + - contact = Contact.new(ver.object.to_h.merge(ver.object_changes.to_h&.slice(*valid_columns))) = contact.try(:name) = " ".html_safe = "(#{t(:deleted)})" From afd6882f6543697f4e48122d5683c25dfd2decd2 Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Fri, 28 May 2021 11:36:21 +0300 Subject: [PATCH 2/6] added test --- test/system/admin_area/contact_versions_test.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 ) From a2f7b7cbe387e1018112814cb2b10e8783b47175 Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Fri, 28 May 2021 13:36:01 +0300 Subject: [PATCH 3/6] fixed old code --- app/views/admin/domain_versions/archive.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index 500675f62..03e556c9c 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -67,7 +67,7 @@ - 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&.slice(*valid_columns))) + - contact = Contact.new(ver.object.to_h.merge(ver.object_changes.to_h&.slice(*Domain&.column_names))) = contact.try(:name) = " ".html_safe = "(#{t(:deleted)})" From 8926c70bc384f58f47ee05224520a5eae053dcf4 Mon Sep 17 00:00:00 2001 From: Alex Sherman Date: Fri, 28 May 2021 16:06:12 +0500 Subject: [PATCH 4/6] Fix contact version generation --- app/views/admin/domain_versions/archive.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index 03e556c9c..c0ed6fff0 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -67,7 +67,7 @@ - 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&.slice(*Domain&.column_names))) + - contact = Contact.new(ver.object.to_h.merge(ver.object_changes.to_h.each_with_object({}) {|(k,v), o| o[k] = v.last })&.slice(*Contact&.column_names)) = contact.try(:name) = " ".html_safe = "(#{t(:deleted)})" From a8d1d66c3ab87e68cf87cb9e8965dbe030098da2 Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Fri, 28 May 2021 14:23:42 +0300 Subject: [PATCH 5/6] Refactoring --- app/views/admin/domain_versions/archive.haml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index c0ed6fff0..f4ee67f47 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -67,7 +67,8 @@ - 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 })&.slice(*Contact&.column_names)) + - result = ver.object.to_h.merge(ver.object_changes.to_h.each_with_object({}) {|(k,v), o| o[k] = v.last })&.(*Contact&.column_names) + - contact = Contact.new(result) = contact.try(:name) = " ".html_safe = "(#{t(:deleted)})" From 6144692713c189fcca266f3e12ae4ea42dd5bf16 Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Fri, 28 May 2021 14:46:58 +0300 Subject: [PATCH 6/6] refactoring --- app/views/admin/domain_versions/archive.haml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index f4ee67f47..248d58538 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -67,7 +67,8 @@ - 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 - - result = ver.object.to_h.merge(ver.object_changes.to_h.each_with_object({}) {|(k,v), o| o[k] = v.last })&.(*Contact&.column_names) + - 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