From 9dfa49acf6a542d68663e3c28a807a93112b5a86 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Mon, 21 Sep 2020 07:48:16 +0000
Subject: [PATCH] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][TicketNr.:?=
 =?UTF-8?q?=201065477][L=C3=B6schen=20=C3=BCber=20"Weitere=20Funktionen"?=
 =?UTF-8?q?=20l=C3=B6scht=20nicht=20alle=20Daten]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Contact_entity/Contact_entity.aod       |  1 +
 .../recordcontainers/db/onDBDelete.js          | 18 ++++++++++++++++++
 .../recordcontainers/db/onDBDelete.js          |  4 ++--
 3 files changed, 21 insertions(+), 2 deletions(-)
 create mode 100644 entity/Contact_entity/recordcontainers/db/onDBDelete.js

diff --git a/entity/Contact_entity/Contact_entity.aod b/entity/Contact_entity/Contact_entity.aod
index 53ca53c9dbb..41a386bd8dc 100644
--- a/entity/Contact_entity/Contact_entity.aod
+++ b/entity/Contact_entity/Contact_entity.aod
@@ -263,6 +263,7 @@
       <fromClauseProcess>%aditoprj%/entity/Contact_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
       <conditionProcess>%aditoprj%/entity/Contact_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/Contact_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
+      <onDBDelete>%aditoprj%/entity/Contact_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
         <linkInformation>
           <name>86ded52f-1b55-4d3d-b89d-23c465f20566</name>
diff --git a/entity/Contact_entity/recordcontainers/db/onDBDelete.js b/entity/Contact_entity/recordcontainers/db/onDBDelete.js
new file mode 100644
index 00000000000..db41811d78d
--- /dev/null
+++ b/entity/Contact_entity/recordcontainers/db/onDBDelete.js
@@ -0,0 +1,18 @@
+import("Sql_lib");
+import("Context_lib");
+import("Attribute_lib");
+import("Workflow_lib");
+import("system.vars");
+import("DuplicateScanner_lib");
+
+var contactId = vars.get("$field.CONTACTID");
+DuplicateScannerUtils.DeleteCachedDuplicate(contactId);
+
+new AttributeRelationQuery(contactId, null, ContextUtils.getCurrentContextId())
+    .deleteAllAttributes();
+
+newWhere("COMMUNICATION.CONTACT_ID", contactId).deleteData();
+newWhere("ADDRESS.CONTACT_ID", contactId).deleteData();
+newWhere("COMMRESTRICTION.CONTACT_ID", contactId).deleteData();
+
+WorkflowSignalSender.deleted();
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/onDBDelete.js b/entity/Person_entity/recordcontainers/db/onDBDelete.js
index c6f452b97ca..db41811d78d 100644
--- a/entity/Person_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Person_entity/recordcontainers/db/onDBDelete.js
@@ -4,8 +4,8 @@ import("Attribute_lib");
 import("Workflow_lib");
 import("system.vars");
 import("DuplicateScanner_lib");
-// TODO: enable when duplicate-module is finalized
-let contactId = vars.get("$field.CONTACTID");
+
+var contactId = vars.get("$field.CONTACTID");
 DuplicateScannerUtils.DeleteCachedDuplicate(contactId);
 
 new AttributeRelationQuery(contactId, null, ContextUtils.getCurrentContextId())
-- 
GitLab