From 75fefaafc63b36d1c9d53cf284fe8075b3abe503 Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Thu, 28 Mar 2019 15:52:05 +0100
Subject: [PATCH] =?UTF-8?q?Salesproject-module=20mit=20l=C3=B6schen?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Salesproject_entity.aod                   |  1 +
 .../recordcontainers/db/onDBDelete.js         | 27 +++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 entity/Salesproject_entity/recordcontainers/db/onDBDelete.js

diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index b5e35dc2ed..d292e27ad9 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -523,6 +523,7 @@
       <conditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <onDBInsert>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
       <onDBUpdate>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate>
+      <onDBDelete>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
         <linkInformation>
           <name>02eb2f4c-3b85-409f-ac13-c8b26804da44</name>
diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js
new file mode 100644
index 0000000000..6d045ce911
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js
@@ -0,0 +1,27 @@
+import("system.db");
+import("system.logging");
+import("system.vars");
+import("Sql_lib");
+
+var currentId = vars.getString("$field.SALESPROJECTID");
+
+if (currentId)
+{
+    var toDelete = [
+        "SALESPROJECT_COMPETITION",
+        "SALESPROJECT_CLASSIFICATION",
+        "SALESPROJECT_CYCLE",
+        "SALESPROJECT_FORECAST",
+        "SALESPROJECT_MEMBER",
+        "SALESPROJECT_SOURCE"
+    ];
+    
+    toDelete = toDelete.map(function(pTable)
+    {
+        return [pTable, SqlCondition.equals(pTable + ".SALESPROJECT_ID", currentId, "1=2")]
+    });
+    
+    db.deletes(toDelete);
+    
+    // TODO: auch Dokumente, Aktivitäten, Aufgaben, Zeiterfassungen löschen?
+}
\ No newline at end of file
-- 
GitLab