From fd5efd4d2a4ca6ff916829c87e56087aef8c9a9f Mon Sep 17 00:00:00 2001
From: "m.groppe" <m.groppe@adito.de>
Date: Tue, 1 Jun 2021 15:22:15 +0200
Subject: [PATCH] =?UTF-8?q?[Projekt:=20xRM-Marketing][TicketNr.:=201080831?=
 =?UTF-8?q?][Verhalten=20des=20Feld=20"E-Mail"=20bei=20der=20Anlage=20des?=
 =?UTF-8?q?=20Empf=C3=A4ngers/Test=20Empf=C3=A4nger=20anpassen]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../BulkMailRecipient_entity.aod              |  3 ++-
 .../email_address/dropDownProcess.js          | 20 +++++++++++++++++++
 .../BulkMailTestRecipient_entity.aod          |  2 ++
 .../email_address/dropDownProcess.js          | 20 +++++++++++++++++++
 .../BulkMailRecipientFilter_view.aod          |  2 +-
 5 files changed, 45 insertions(+), 2 deletions(-)
 create mode 100644 entity/BulkMailRecipient_entity/entityfields/email_address/dropDownProcess.js
 create mode 100644 entity/BulkMailTestRecipient_entity/entityfields/email_address/dropDownProcess.js

diff --git a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
index 3257dcb077..fe32c394a7 100644
--- a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
+++ b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
@@ -75,7 +75,8 @@
     <entityField>
       <name>EMAIL_ADDRESS</name>
       <title>Email</title>
-      <textInputAllowed v="true" />
+      <dropDownProcess>%aditoprj%/entity/BulkMailRecipient_entity/entityfields/email_address/dropDownProcess.js</dropDownProcess>
+      <textInputAllowed v="false" />
       <valueProcess>%aditoprj%/entity/BulkMailRecipient_entity/entityfields/email_address/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/BulkMailRecipient_entity/entityfields/email_address/displayValueProcess.js</displayValueProcess>
     </entityField>
diff --git a/entity/BulkMailRecipient_entity/entityfields/email_address/dropDownProcess.js b/entity/BulkMailRecipient_entity/entityfields/email_address/dropDownProcess.js
new file mode 100644
index 0000000000..f44ecd046f
--- /dev/null
+++ b/entity/BulkMailRecipient_entity/entityfields/email_address/dropDownProcess.js
@@ -0,0 +1,20 @@
+import("Communication_lib");
+import("system.result");
+import("system.vars");
+import("Sql_lib");
+
+var contactId = vars.get("$field.CONTACT_ID");
+
+if (contactId)
+{
+    var  emailAddresses = new SqlBuilder().selectDistinct(["COMMUNICATION.ADDR","COMMUNICATION.ADDR"])
+                         .from("COMMUNICATION")
+                         .where("COMMUNICATION.CONTACT_ID",contactId)
+                         .and("COMMUNICATION.MEDIUM_ID",CommUtil.getMediumIdsByCategory("EMAIL"),SqlBuilder.IN())
+                         .table();
+    result.object(emailAddresses);
+}
+else
+{
+    result.object([])
+}
diff --git a/entity/BulkMailTestRecipient_entity/BulkMailTestRecipient_entity.aod b/entity/BulkMailTestRecipient_entity/BulkMailTestRecipient_entity.aod
index cfea263cd5..8204e287fe 100644
--- a/entity/BulkMailTestRecipient_entity/BulkMailTestRecipient_entity.aod
+++ b/entity/BulkMailTestRecipient_entity/BulkMailTestRecipient_entity.aod
@@ -28,6 +28,8 @@
     <entityField>
       <name>EMAIL_ADDRESS</name>
       <title>Email</title>
+      <dropDownProcess>%aditoprj%/entity/BulkMailTestRecipient_entity/entityfields/email_address/dropDownProcess.js</dropDownProcess>
+      <textInputAllowed v="true" />
       <valueProcess>%aditoprj%/entity/BulkMailTestRecipient_entity/entityfields/email_address/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
diff --git a/entity/BulkMailTestRecipient_entity/entityfields/email_address/dropDownProcess.js b/entity/BulkMailTestRecipient_entity/entityfields/email_address/dropDownProcess.js
new file mode 100644
index 0000000000..f44ecd046f
--- /dev/null
+++ b/entity/BulkMailTestRecipient_entity/entityfields/email_address/dropDownProcess.js
@@ -0,0 +1,20 @@
+import("Communication_lib");
+import("system.result");
+import("system.vars");
+import("Sql_lib");
+
+var contactId = vars.get("$field.CONTACT_ID");
+
+if (contactId)
+{
+    var  emailAddresses = new SqlBuilder().selectDistinct(["COMMUNICATION.ADDR","COMMUNICATION.ADDR"])
+                         .from("COMMUNICATION")
+                         .where("COMMUNICATION.CONTACT_ID",contactId)
+                         .and("COMMUNICATION.MEDIUM_ID",CommUtil.getMediumIdsByCategory("EMAIL"),SqlBuilder.IN())
+                         .table();
+    result.object(emailAddresses);
+}
+else
+{
+    result.object([])
+}
diff --git a/neonView/BulkMailRecipientFilter_view/BulkMailRecipientFilter_view.aod b/neonView/BulkMailRecipientFilter_view/BulkMailRecipientFilter_view.aod
index 1638eaab61..1c3f60390d 100644
--- a/neonView/BulkMailRecipientFilter_view/BulkMailRecipientFilter_view.aod
+++ b/neonView/BulkMailRecipientFilter_view/BulkMailRecipientFilter_view.aod
@@ -11,7 +11,7 @@
   <children>
     <tableViewTemplate>
       <name>Table</name>
-      <inlineEdit v="true" />
+      <inlineEdit v="false" />
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <favoriteActionGroup1>recipientActions</favoriteActionGroup1>
-- 
GitLab