From 9f23b67c39d8cf8917009bfe2b870e76f97e209f Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Wed, 12 Dec 2018 10:29:27 +0100
Subject: [PATCH] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][TicketNr.:?=
 =?UTF-8?q?=201029670][Feld=20Verkn=C3=BCpfung=20(Person,Firma)=20einf?=
 =?UTF-8?q?=C3=BChren]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Contract_entity/Contract_entity.aod    | 10 +++----
 .../relation_id/linkedContextProcess.js       | 27 +++++++++++--------
 .../entityfields/relation_id/valueProcess.js  |  2 +-
 entity/Org_entity/Org_entity.aod              |  6 -----
 entity/Relation_entity/Relation_entity.aod    | 12 +++++++++
 .../_____LANGUAGE_EXTRA.aod                   |  6 ++---
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  8 +++---
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |  6 ++---
 8 files changed, 44 insertions(+), 33 deletions(-)

diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index a6b1498294e..45f820ea628 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -78,10 +78,10 @@
     <entityField>
       <name>RELATION_ID</name>
       <documentation>%aditoprj%/entity/Contract_entity/entityfields/relation_id/documentation.adoc</documentation>
-      <title>Contact / Company</title>
+      <title>Connection</title>
       <linkedContextProcess>%aditoprj%/entity/Contract_entity/entityfields/relation_id/linkedContextProcess.js</linkedContextProcess>
       <mandatory v="true" />
-      <outgoingField>ContractOrg_dfo</outgoingField>
+      <outgoingField>ContractRelation_dfo</outgoingField>
       <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/relation_id/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
@@ -162,12 +162,12 @@
       </children>
     </entityOutgoingField>
     <entityOutgoingField>
-      <name>ContractOrg_dfo</name>
+      <name>ContractRelation_dfo</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
-        <entityName>Org_entity</entityName>
-        <fieldName>Org_dfi</fieldName>
+        <entityName>Relation_entity</entityName>
+        <fieldName>ContractRelation_dfi</fieldName>
       </dependency>
     </entityOutgoingField>
     <entityIncomingField>
diff --git a/entity/Contract_entity/entityfields/relation_id/linkedContextProcess.js b/entity/Contract_entity/entityfields/relation_id/linkedContextProcess.js
index fd07f7811a3..3a69957e898 100644
--- a/entity/Contract_entity/entityfields/relation_id/linkedContextProcess.js
+++ b/entity/Contract_entity/entityfields/relation_id/linkedContextProcess.js
@@ -1,13 +1,18 @@
-import("system.vars");
 import("system.result");
-import("system.neon");
-
-var relid = vars.getString("$this.value");
+import("system.vars");
+import("Relation_lib")
 
-if(vars.exists("$image.lookup_orgname") && vars.get("$image.lookup_orgname") != '')
-    result.string("Org_context");
-else if((relid == null || relid.trim() == "0")
-    && (vars.get("$sys.operatingstate") != neon.OPERATINGSTATE_NEW))
-    result.string(null);
-else
-    result.string("Org_context");        
+if(!vars.get("$field.RELATION_ID"))
+    result.string("");
+else {
+    switch (RelationUtils.getRelationTypeByRelation(vars.get("$field.RELATION_ID")))
+    {
+        case 1: // Org
+            result.string("Org_context")
+            break;
+        case 2: // private Pers
+        case 3: // Pers
+            result.string("Pers_context")
+        default:
+    }
+}
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/relation_id/valueProcess.js b/entity/Contract_entity/entityfields/relation_id/valueProcess.js
index 5d0a3cefc2f..af9f2a0e2fe 100644
--- a/entity/Contract_entity/entityfields/relation_id/valueProcess.js
+++ b/entity/Contract_entity/entityfields/relation_id/valueProcess.js
@@ -4,6 +4,6 @@ import("system.vars");
 
 if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
 {
-    if(vars.exists("$param.RelId_param") && vars.get("$param.RelId_param") != null)
+    if(vars.exists("$param.RelId_param") && vars.get("$param.RelId_param"))
         result.string(vars.getString("$param.RelId_param"));    
 }
diff --git a/entity/Org_entity/Org_entity.aod b/entity/Org_entity/Org_entity.aod
index ad776a7905e..6b393a11b68 100644
--- a/entity/Org_entity/Org_entity.aod
+++ b/entity/Org_entity/Org_entity.aod
@@ -166,12 +166,6 @@
           <fieldName>PersOrg_dfo</fieldName>
           <isOutgoing v="false" />
         </entityDependency>
-        <entityDependency>
-          <name>5132d22f-8e82-4ab6-bc3b-5cddcbf09661</name>
-          <entityName>Contract_entity</entityName>
-          <fieldName>ContractOrg_dfo</fieldName>
-          <isOutgoing v="false" />
-        </entityDependency>
         <entityDependency>
           <name>25e5cc50-0443-4e79-8690-a47197706936</name>
           <entityName>Product_entity</entityName>
diff --git a/entity/Relation_entity/Relation_entity.aod b/entity/Relation_entity/Relation_entity.aod
index 26a1fbcd7f9..8551476fcd3 100644
--- a/entity/Relation_entity/Relation_entity.aod
+++ b/entity/Relation_entity/Relation_entity.aod
@@ -115,6 +115,18 @@ See RelationUtils.getRelationTypeByPersOrg for possible values</description>
       <name>PERS_LASTNAME</name>
       <title>Lastname</title>
     </entityField>
+    <entityIncomingField>
+      <name>ContractRelation_dfi</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <dependencies>
+        <entityDependency>
+          <name>b0e92b19-d9b3-4217-a2fc-9348230efb8c</name>
+          <entityName>Contract_entity</entityName>
+          <fieldName>ContractRelation_dfo</fieldName>
+          <isOutgoing v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityIncomingField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 7116e79e848..7e410dd5ada 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -399,9 +399,6 @@
     <entry>
       <key>Spare parts</key>
     </entry>
-    <entry>
-      <key>Contact / Company</key>
-    </entry>
     <entry>
       <key>Kgs</key>
     </entry>
@@ -1209,6 +1206,9 @@
     <entry>
       <key>Angebot</key>
     </entry>
+    <entry>
+      <key>Connection</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index c9dd0bcb86d..aea2e887f1b 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -528,10 +528,6 @@
       <key>Spare parts</key>
       <value>Ersatzteile</value>
     </entry>
-    <entry>
-      <key>Contact / Company</key>
-      <value>Person / Firma</value>
-    </entry>
     <entry>
       <key>Kgs</key>
       <value>Kg</value>
@@ -1499,6 +1495,10 @@
     <entry>
       <key>Angebot</key>
     </entry>
+    <entry>
+      <key>Connection</key>
+      <value>Verknüpfung</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 925b9039a92..13a993a2df6 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -408,9 +408,6 @@
     <entry>
       <key>Spare parts</key>
     </entry>
-    <entry>
-      <key>Contact / Company</key>
-    </entry>
     <entry>
       <key>Kgs</key>
     </entry>
@@ -1224,6 +1221,9 @@
     <entry>
       <key>Angebot</key>
     </entry>
+    <entry>
+      <key>Connection</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
-- 
GitLab