From 50b836e5547981b8b97649e3aca08451a83e75bc Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Wed, 19 Dec 2018 14:48:06 +0100
Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1029627][Preview
 Kontakt: Standard-Kommunikationsadresse]

---
 entity/Org_entity/Org_entity.aod              |  2 +
 .../standard_email_comm/onValueChange.js      | 12 ++++++
 .../standard_phone_comm/onValueChange.js      | 12 ++++++
 .../recordcontainers/db/onDBUpdate.js         | 38 +++++++++++++++++++
 4 files changed, 64 insertions(+)
 create mode 100644 entity/Org_entity/entityfields/standard_email_comm/onValueChange.js
 create mode 100644 entity/Org_entity/entityfields/standard_phone_comm/onValueChange.js

diff --git a/entity/Org_entity/Org_entity.aod b/entity/Org_entity/Org_entity.aod
index df2e2d8bdf..df2f79984d 100644
--- a/entity/Org_entity/Org_entity.aod
+++ b/entity/Org_entity/Org_entity.aod
@@ -377,11 +377,13 @@
       <name>STANDARD_EMAIL_COMM</name>
       <title>standard email</title>
       <outgoingField>OrgCommEmail_dfo</outgoingField>
+      <onValueChange>%aditoprj%/entity/Org_entity/entityfields/standard_email_comm/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
       <name>STANDARD_PHONE_COMM</name>
       <title>standard phone</title>
       <outgoingField>OrgCommPhone_dfo</outgoingField>
+      <onValueChange>%aditoprj%/entity/Org_entity/entityfields/standard_phone_comm/onValueChange.js</onValueChange>
     </entityField>
     <entityOutgoingField>
       <name>OrgCommPhone_dfo</name>
diff --git a/entity/Org_entity/entityfields/standard_email_comm/onValueChange.js b/entity/Org_entity/entityfields/standard_email_comm/onValueChange.js
new file mode 100644
index 0000000000..99ef5ee31e
--- /dev/null
+++ b/entity/Org_entity/entityfields/standard_email_comm/onValueChange.js
@@ -0,0 +1,12 @@
+import("system.vars");
+import("system.neon");
+
+// TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process
+if (vars.get("$field.STANDARD_EMAIL_COMM"))
+{
+    vars.set("$image.changedStandardEmail", true);
+}
+else
+{
+    vars.set("$image.changedStandardEmail", "deleted");
+}
diff --git a/entity/Org_entity/entityfields/standard_phone_comm/onValueChange.js b/entity/Org_entity/entityfields/standard_phone_comm/onValueChange.js
new file mode 100644
index 0000000000..f62e387af1
--- /dev/null
+++ b/entity/Org_entity/entityfields/standard_phone_comm/onValueChange.js
@@ -0,0 +1,12 @@
+import("system.vars");
+import("system.neon");
+
+// TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process
+if (vars.get("$field.STANDARD_PHONE_COMM"))
+{
+    vars.set("$image.changedStandardPhone", true);
+}
+else
+{
+    vars.set("$image.changedStandardPhone", "deleted");
+}
diff --git a/entity/Org_entity/recordcontainers/db/onDBUpdate.js b/entity/Org_entity/recordcontainers/db/onDBUpdate.js
index 3ddf122e0a..62f1267913 100644
--- a/entity/Org_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Org_entity/recordcontainers/db/onDBUpdate.js
@@ -1,5 +1,6 @@
 import("system.vars");
 import("Org_lib");
+import("Comm_lib");
 
 // TODO: this is a workaround for missing possibility to react on changes of fields not connected to record Contqainer
 if (vars.exists("$image.changedImage"))
@@ -18,4 +19,41 @@ if (vars.exists("$image.changedImage"))
     }
 }
 
+var uid = vars.get("$sys.uid");
+
 vars.set("$image.changedImage", false);
+
+if (vars.exists("$image.changedStandardEmail"))
+{
+    if (vars.get("$image.changedStandardEmail"))
+    {
+        if (vars.get("$image.changedStandardEmail") != "deleted")
+        {
+            CommUtil.setStandardMail(uid, vars.get("$field.STANDARD_EMAIL_COMM"));
+        }
+        else
+        {
+            //TODO: implement
+        }
+    }
+}
+
+vars.set("$image.changedStandardEmail", false);
+
+
+if (vars.exists("$image.changedStandardPhone"))
+{
+    if (vars.get("$image.changedStandardPhone"))
+    {
+        if (vars.get("$image.changedStandardPhone") != "deleted")
+        {
+            CommUtil.setStandardMail(uid, vars.get("$field.STANDARD_PHONE_COMM"));
+        }
+        else
+        {
+            //TODO: implement
+        }
+    }
+}
+
+vars.set("$image.changedStandardPhone", false);
-- 
GitLab