From 1d9cca28aeb440587fee7394ae981c096faa1625 Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Tue, 4 Dec 2018 16:00:47 +0100
Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1029618][Neuanlage
 funktioniert nicht]

---
 entity/History_entity/History_entity.aod      |  1 +
 entity/Offer_entity/Offer_entity.aod          |  6 ++++--
 .../entityfields/relation_id/stateProcess.js  | 16 ++++++++++++++
 entity/Offeritem_entity/Offeritem_entity.aod  |  1 +
 .../Offeritem_entity/beforeOperatingState.js  |  3 +++
 neonView/OfferEdit_view/OfferEdit_view.aod    | 21 +++++++++++++------
 6 files changed, 40 insertions(+), 8 deletions(-)
 create mode 100644 entity/Offer_entity/entityfields/relation_id/stateProcess.js
 create mode 100644 entity/Offeritem_entity/beforeOperatingState.js

diff --git a/entity/History_entity/History_entity.aod b/entity/History_entity/History_entity.aod
index 50b5f9c61e..cb6437d4e0 100644
--- a/entity/History_entity/History_entity.aod
+++ b/entity/History_entity/History_entity.aod
@@ -131,6 +131,7 @@
     <entityIncomingField>
       <name>ContractHistory_dfi</name>
       <fieldType>DEPENDENCY_IN</fieldType>
+      <recordContainer>db</recordContainer>
       <dependencies>
         <entityDependency>
           <name>f47157d9-0cb6-4bcf-a485-08675bd957ee</name>
diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 83ec307236..6ed85459de 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -86,7 +86,8 @@
       <tableName>OFFER</tableName>
       <columnName>RELATION_ID</columnName>
       <mandatory v="true" />
-      <state>READONLY</state>
+      <state>INVISIBLE</state>
+      <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/relation_id/stateProcess.js</stateProcess>
       <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/relation_id/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
@@ -95,7 +96,7 @@
       <tableName>OFFER</tableName>
       <columnName>SALESPROJECT_ID</columnName>
       <mandatory v="true" />
-      <state>READONLY</state>
+      <state>INVISIBLE</state>
       <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/salesproject_id/stateProcess.js</stateProcess>
     </entityField>
     <entityField>
@@ -256,6 +257,7 @@
       <name>OfferCode_VersNr</name>
       <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offercode_versnr/valueProcess.js</valueProcess>
       <description>FIELDGROUP</description>
+      <state>READONLY</state>
       <fields>
         <element>OFFERCODE</element>
         <element>VERSNR</element>
diff --git a/entity/Offer_entity/entityfields/relation_id/stateProcess.js b/entity/Offer_entity/entityfields/relation_id/stateProcess.js
new file mode 100644
index 0000000000..d4e696f145
--- /dev/null
+++ b/entity/Offer_entity/entityfields/relation_id/stateProcess.js
@@ -0,0 +1,16 @@
+import("system.neon");
+import("system.result");
+import("system.vars");
+
+
+switch (vars.get("$sys.operatingstate")) 
+{
+    case neon.OPERATINGSTATE_NEW:
+        result.object(neon.COMPONENTSTATE_EDITABLE);
+    break;
+    case neon.OPERATINGSTATE_EDIT:
+        result.object(neon.COMPONENTSTATE_INVISIBLE);
+    break;
+    default:
+        result.object(neon.COMPONENTSTATE_READONLY);
+}
\ No newline at end of file
diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod
index dc75e10e5e..2c71861a1c 100644
--- a/entity/Offeritem_entity/Offeritem_entity.aod
+++ b/entity/Offeritem_entity/Offeritem_entity.aod
@@ -8,6 +8,7 @@
   <grantUpdateProcess>%aditoprj%/entity/Offeritem_entity/grantUpdateProcess.js</grantUpdateProcess>
   <grantDeleteProcess>%aditoprj%/entity/Offeritem_entity/grantDeleteProcess.js</grantDeleteProcess>
   <recordContainerType>DB</recordContainerType>
+  <beforeOperatingState>%aditoprj%/entity/Offeritem_entity/beforeOperatingState.js</beforeOperatingState>
   <afterOperatingState>%aditoprj%/entity/Offeritem_entity/afterOperatingState.js</afterOperatingState>
   <alias>Data_alias</alias>
   <conditionProcess>%aditoprj%/entity/Offeritem_entity/conditionProcess.js</conditionProcess>
diff --git a/entity/Offeritem_entity/beforeOperatingState.js b/entity/Offeritem_entity/beforeOperatingState.js
new file mode 100644
index 0000000000..fa203ce318
--- /dev/null
+++ b/entity/Offeritem_entity/beforeOperatingState.js
@@ -0,0 +1,3 @@
+import("system.vars");
+import("system.logging");
+logging.log(vars.get("$field.OFFER_ID"))
\ No newline at end of file
diff --git a/neonView/OfferEdit_view/OfferEdit_view.aod b/neonView/OfferEdit_view/OfferEdit_view.aod
index a731daa955..4868bbc72f 100644
--- a/neonView/OfferEdit_view/OfferEdit_view.aod
+++ b/neonView/OfferEdit_view/OfferEdit_view.aod
@@ -14,13 +14,21 @@
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
-          <name>20a42587-69dd-4b8e-9a2e-3f7e8717b6ee</name>
-          <entityField>OFFERCODE</entityField>
+          <name>58534f77-5c6d-4bd5-bae4-14750eac335b</name>
+          <entityField>OfferCode_VersNr</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>768683f3-08c8-4e85-bb4c-7e5c74a8dec0</name>
           <entityField>OFFERDATE</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>ac6f81a2-5012-461a-bcf1-4534182b0973</name>
+          <entityField>SALESPROJECT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>1b323e80-820d-402a-98d2-f3649ec8e91f</name>
+          <entityField>RELATION_ID</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>7ab3eb65-b713-4251-9eb1-3119432565f5</name>
           <entityField>LANGUAGE</entityField>
@@ -37,10 +45,6 @@
           <name>64cb7376-3a7c-4ce9-99e8-e70bc91b41d0</name>
           <entityField>CURRENCY</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>ac6f81a2-5012-461a-bcf1-4534182b0973</name>
-          <entityField>SALESPROJECT_ID</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>ed71986f-303c-4118-a895-51ec31ba8775</name>
           <entityField>HEADER</entityField>
@@ -51,5 +55,10 @@
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
+    <neonViewReference>
+      <name>a5e09fc0-5df1-489c-b660-414bd6f64308</name>
+      <entityField>OfferOfferitem_dfo</entityField>
+      <view>OfferitemFilter_view</view>
+    </neonViewReference>
   </children>
 </neonView>
-- 
GitLab