From 60aa89ddfab1efdbf45baa0b121a7135552d09e2 Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Tue, 10 Sep 2019 14:16:39 +0200
Subject: [PATCH] Bulkmail fixes

---
 entity/BulkMail_entity/BulkMail_entity.aod       |  2 +-
 .../entityfields/bindata/stateProcess.js         |  8 --------
 .../entityfields/name/valueProcess.js            | 16 +++++++++++++++-
 .../testing_contact_id/displayValueProcess.js    |  5 +++++
 4 files changed, 21 insertions(+), 10 deletions(-)
 delete mode 100644 entity/BulkMail_entity/entityfields/bindata/stateProcess.js
 create mode 100644 entity/BulkMail_entity/entityfields/testing_contact_id/displayValueProcess.js

diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod
index 4b9ca6452f..380476f5e8 100644
--- a/entity/BulkMail_entity/BulkMail_entity.aod
+++ b/entity/BulkMail_entity/BulkMail_entity.aod
@@ -117,7 +117,6 @@
     <entityField>
       <name>bindata</name>
       <contentType>FILE</contentType>
-      <stateProcess>%aditoprj%/entity/BulkMail_entity/entityfields/bindata/stateProcess.js</stateProcess>
       <onValueChange>%aditoprj%/entity/BulkMail_entity/entityfields/bindata/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
@@ -185,6 +184,7 @@
       <title>Contact</title>
       <consumer>Contacts</consumer>
       <linkedContext>AnyContact</linkedContext>
+      <displayValueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/testing_contact_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>TESTING_EMAIL_ADDRESS</name>
diff --git a/entity/BulkMail_entity/entityfields/bindata/stateProcess.js b/entity/BulkMail_entity/entityfields/bindata/stateProcess.js
deleted file mode 100644
index aeb23379ee..0000000000
--- a/entity/BulkMail_entity/entityfields/bindata/stateProcess.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import("system.vars");
-import("system.result");
-import("system.neon");
-
-var state = neon.COMPONENTSTATE_EDITABLE;
-if (vars.get("$field.DOCUMENTTEMPLATE_ID"))
-    state = neon.COMPONENTSTATE_INVISIBLE;
-result.string(state);
\ No newline at end of file
diff --git a/entity/BulkMail_entity/entityfields/name/valueProcess.js b/entity/BulkMail_entity/entityfields/name/valueProcess.js
index 94a33c3fc3..829431cf9f 100644
--- a/entity/BulkMail_entity/entityfields/name/valueProcess.js
+++ b/entity/BulkMail_entity/entityfields/name/valueProcess.js
@@ -1,9 +1,10 @@
 import("system.result");
 import("Document_lib");
+import("system.entities");
 import("system.neon");
 import("system.vars");
 
-if (vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+if (!vars.get("$this.value") && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
     var upload = vars.get("$field.bindata");
     if (upload)
@@ -11,4 +12,17 @@ if (vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPER
         var filename = DocumentUtil.getFilenameFromUpload(upload);
         result.string(filename.split(".")[0]);
     }
+    else
+    {
+        var conf = entities.createConfigForLoadingRows();
+        conf.entity("DocumentTemplate_entity")
+            .fields(["NAME"])
+            .uid(vars.get("$field.DOCUMENTTEMPLATE_ID"));
+        
+        var name = entities.getRows(conf);
+        if (name.length > 0)
+            name = name[0].NAME;
+        
+        result.string(name);
+    }
 }
\ No newline at end of file
diff --git a/entity/BulkMail_entity/entityfields/testing_contact_id/displayValueProcess.js b/entity/BulkMail_entity/entityfields/testing_contact_id/displayValueProcess.js
new file mode 100644
index 0000000000..3cfd8a80f6
--- /dev/null
+++ b/entity/BulkMail_entity/entityfields/testing_contact_id/displayValueProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+import("Contact_lib");
+
+result.string(ContactUtils.getTitleByContactId(vars.get("$field.TESTING_CONTACT_ID")));
\ No newline at end of file
-- 
GitLab