From 8780a3687dd252b3cc5746511fb746322f5a8f05 Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Tue, 4 Dec 2018 14:35:49 +0100
Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1029617][Felder
 -Bearbeitung und Platzierung]

---
 entity/Offer_entity/Offer_entity.aod             |  4 ++++
 .../entityfields/offercode/onValidation.js       |  3 ++-
 .../entityfields/salesproject_id/stateProcess.js | 16 ++++++++++++++++
 neonView/OfferEdit_view/OfferEdit_view.aod       |  8 ++------
 .../db_changes/data/example_offer/OFFER_1000.xml |  1 +
 .../db_changes/data/example_offer/OFFER_1001.xml |  1 +
 .../db_changes/data/example_offer/OFFER_1002.xml |  1 +
 .../db_changes/data/example_offer/OFFER_1003.xml |  1 +
 .../db_changes/data/example_offer/OFFER_1004.xml |  1 +
 process/OfferOrder_lib/process.js                |  2 +-
 10 files changed, 30 insertions(+), 8 deletions(-)
 create mode 100644 entity/Offer_entity/entityfields/salesproject_id/stateProcess.js

diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index fb9d433d17..83ec307236 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -86,6 +86,7 @@
       <tableName>OFFER</tableName>
       <columnName>RELATION_ID</columnName>
       <mandatory v="true" />
+      <state>READONLY</state>
       <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/relation_id/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
@@ -93,6 +94,9 @@
       <title>Salesproject</title>
       <tableName>OFFER</tableName>
       <columnName>SALESPROJECT_ID</columnName>
+      <mandatory v="true" />
+      <state>READONLY</state>
+      <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/salesproject_id/stateProcess.js</stateProcess>
     </entityField>
     <entityField>
       <name>STATUS</name>
diff --git a/entity/Offer_entity/entityfields/offercode/onValidation.js b/entity/Offer_entity/entityfields/offercode/onValidation.js
index d203adc831..383e4296cc 100644
--- a/entity/Offer_entity/entityfields/offercode/onValidation.js
+++ b/entity/Offer_entity/entityfields/offercode/onValidation.js
@@ -2,11 +2,12 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 import("OfferOrder_lib");
+import("Salesproject_lib");
 import("Util_lib");
 import("Entity_lib");
 
 if( vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW
     && !OfferUtils.validateOfferNumber(ProcessHandlingUtils.getOnValidationValue(vars.get("$field.OFFERCODE"))) )
 {
-    vars.set( "$field.OFFERCODE", SalesprojectUtils.getNextOfferNumber().toString() );
+    vars.set( "$field.OFFERCODE", OfferUtils.getNextOfferNumber().toString() );
 }
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/salesproject_id/stateProcess.js b/entity/Offer_entity/entityfields/salesproject_id/stateProcess.js
new file mode 100644
index 0000000000..d4e696f145
--- /dev/null
+++ b/entity/Offer_entity/entityfields/salesproject_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/neonView/OfferEdit_view/OfferEdit_view.aod b/neonView/OfferEdit_view/OfferEdit_view.aod
index 1a97c05548..a731daa955 100644
--- a/neonView/OfferEdit_view/OfferEdit_view.aod
+++ b/neonView/OfferEdit_view/OfferEdit_view.aod
@@ -17,10 +17,6 @@
           <name>20a42587-69dd-4b8e-9a2e-3f7e8717b6ee</name>
           <entityField>OFFERCODE</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>e95c7a5d-3931-4637-a759-c034ae5eb81d</name>
-          <entityField>RELATION_ID</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>768683f3-08c8-4e85-bb4c-7e5c74a8dec0</name>
           <entityField>OFFERDATE</entityField>
@@ -42,8 +38,8 @@
           <entityField>CURRENCY</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>af28d95c-8093-4fb0-ad0f-7cb180939175</name>
-          <entityField>DATE_EDIT</entityField>
+          <name>ac6f81a2-5012-461a-bcf1-4534182b0973</name>
+          <entityField>SALESPROJECT_ID</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>ed71986f-303c-4118-a895-51ec31ba8775</name>
diff --git a/others/db_changes/data/example_offer/OFFER_1000.xml b/others/db_changes/data/example_offer/OFFER_1000.xml
index cfdf6cfacb..3027362c4a 100644
--- a/others/db_changes/data/example_offer/OFFER_1000.xml
+++ b/others/db_changes/data/example_offer/OFFER_1000.xml
@@ -4,6 +4,7 @@
         <insert tableName="OFFER">
             <column name="OFFERID" value="0461959c-88c5-4d79-9ac2-f41f26254dbe"/>
             <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
             <column name="OFFERDATE" valueDate="2018-11-21T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1000"/>
             <column name="VERSNR" valueNumeric="1"/>
diff --git a/others/db_changes/data/example_offer/OFFER_1001.xml b/others/db_changes/data/example_offer/OFFER_1001.xml
index ba859886c3..e2dff41fa1 100644
--- a/others/db_changes/data/example_offer/OFFER_1001.xml
+++ b/others/db_changes/data/example_offer/OFFER_1001.xml
@@ -4,6 +4,7 @@
         <insert tableName="OFFER">
             <column name="OFFERID" value="0461959c-88c5-4d79-9ac2-f41f21154dbe"/>
             <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
             <column name="OFFERDATE" valueDate="2018-08-12T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1001"/>
             <column name="VERSNR" valueNumeric="1"/>
diff --git a/others/db_changes/data/example_offer/OFFER_1002.xml b/others/db_changes/data/example_offer/OFFER_1002.xml
index b1f53cf96f..ac5d2a250c 100644
--- a/others/db_changes/data/example_offer/OFFER_1002.xml
+++ b/others/db_changes/data/example_offer/OFFER_1002.xml
@@ -4,6 +4,7 @@
         <insert tableName="OFFER">
             <column name="OFFERID" value="5561959c-88c5-4d79-9ac2-f41f21154dbe"/>
             <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
             <column name="OFFERDATE" valueDate="2018-06-14T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1002"/>
             <column name="VERSNR" valueNumeric="1"/>
diff --git a/others/db_changes/data/example_offer/OFFER_1003.xml b/others/db_changes/data/example_offer/OFFER_1003.xml
index a29b23e754..27420daf10 100644
--- a/others/db_changes/data/example_offer/OFFER_1003.xml
+++ b/others/db_changes/data/example_offer/OFFER_1003.xml
@@ -4,6 +4,7 @@
         <insert tableName="OFFER">
             <column name="OFFERID" value="0461959c-11c5-4d79-9ac2-f41f21154dbe"/>
             <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
             <column name="OFFERDATE" valueDate="2018-02-23T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1003"/>
             <column name="VERSNR" valueNumeric="1"/>
diff --git a/others/db_changes/data/example_offer/OFFER_1004.xml b/others/db_changes/data/example_offer/OFFER_1004.xml
index d270d46149..7f3ed3871c 100644
--- a/others/db_changes/data/example_offer/OFFER_1004.xml
+++ b/others/db_changes/data/example_offer/OFFER_1004.xml
@@ -4,6 +4,7 @@
         <insert tableName="OFFER">
             <column name="OFFERID" value="ab61911c-88c5-4d79-9ac2-f41f21154dbe"/>
             <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
             <column name="OFFERDATE" valueDate="2017-11-09T00:00:00"/>
             <column name="OFFERCODE" valueNumeric="1004"/>
             <column name="VERSNR" valueNumeric="1"/>
diff --git a/process/OfferOrder_lib/process.js b/process/OfferOrder_lib/process.js
index 3c2a61a5d5..2e2e5b4a3c 100644
--- a/process/OfferOrder_lib/process.js
+++ b/process/OfferOrder_lib/process.js
@@ -19,7 +19,7 @@ function OfferUtils() {}
 * 
 * @return {String} next valid offer number
 */
-OfferUtils.getNextProjectNumber = function() {
+OfferUtils.getNextOfferNumber = function() {
     return NumberSequencingUtils.getNextUniqueNumber("OFFERCODE", "OFFER");
 }
     
-- 
GitLab