From ee244ebaa4ab12895584dc6fe04ad128da2a7970 Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Thu, 24 Jan 2019 15:37:32 +0100
Subject: [PATCH] salesproject fixes

---
 entity/Offer_entity/Offer_entity.aod          |  2 ++
 .../probability/possibleItemsProcess.js       |  5 +---
 .../SalesprojectMember_entity.aod             | 26 ++++++++++++++++---
 .../entityfields/date_edit/valueProcess.js    |  6 +++++
 .../entityfields/date_new/valueProcess.js     |  6 +++++
 .../entityfields/user_edit/valueProcess.js    |  6 +++++
 .../entityfields/user_new/valueProcess.js     |  6 +++++
 .../Salesproject_entity.aod                   | 13 +++-------
 .../probability/possibleItemsProcess.js       |  4 +++
 .../valueProcess.js                           |  4 ---
 .../_____LANGUAGE_EXTRA.aod                   |  6 +++++
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  6 +++++
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |  7 +++++
 .../OfferDetail_view/OfferDetail_view.aod     |  3 +++
 neonView/OfferMain_view/OfferMain_view.aod    | 10 +++----
 .../SalesprojectPreview_view.aod              |  4 +--
 process/Keyword_lib/process.js                |  9 +++++++
 17 files changed, 94 insertions(+), 29 deletions(-)
 create mode 100644 entity/SalesprojectMember_entity/entityfields/date_edit/valueProcess.js
 create mode 100644 entity/SalesprojectMember_entity/entityfields/date_new/valueProcess.js
 create mode 100644 entity/SalesprojectMember_entity/entityfields/user_edit/valueProcess.js
 create mode 100644 entity/SalesprojectMember_entity/entityfields/user_new/valueProcess.js
 create mode 100644 entity/Salesproject_entity/entityfields/probability/possibleItemsProcess.js
 delete mode 100644 entity/Salesproject_entity/entityfields/probability_display_fieldgroup/valueProcess.js

diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index bca85b0c87..9cc12f7202 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -253,9 +253,11 @@
     </entityActionField>
     <entityField>
       <name>RELATION_ORG_ID</name>
+      <searchable v="false" />
     </entityField>
     <entityField>
       <name>RELATION_PERS_ID</name>
+      <searchable v="false" />
     </entityField>
     <entityOutgoingField>
       <name>OfferRelation_dfo</name>
diff --git a/entity/Offer_entity/entityfields/probability/possibleItemsProcess.js b/entity/Offer_entity/entityfields/probability/possibleItemsProcess.js
index 46d56eb03b..12f66fd002 100644
--- a/entity/Offer_entity/entityfields/probability/possibleItemsProcess.js
+++ b/entity/Offer_entity/entityfields/probability/possibleItemsProcess.js
@@ -1,7 +1,4 @@
 import("system.result");
 import("Keyword_lib");
 
-var kwdUtils, items;
-
-items = KeywordUtils.getStandardArray("OFFER.PROBABILITY");
-result.object(items);
\ No newline at end of file
+result.object(KeywordUtils.getStandardArray("OFFER.PROBABILITY"));
\ No newline at end of file
diff --git a/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod b/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod
index 796d7ef2e6..bc79c18cf3 100644
--- a/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod
+++ b/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.1.1">
   <name>SalesprojectMember_entity</name>
-  <title>Member</title>
+  <title>${SALESPROJECT_MEMBER}</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <recordContainer>db</recordContainer>
   <entityFields>
@@ -10,14 +10,20 @@
     </entityIncomingField>
     <entityField>
       <name>DATE_EDIT</name>
+      <contentType>DATE</contentType>
+      <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/date_edit/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>DATE_NEW</name>
+      <contentType>DATE</contentType>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/date_new/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>RELATION_ID</name>
-      <title>Member</title>
-      <state>READONLY</state>
+      <title>Person</title>
+      <linkedContext>Pers_context</linkedContext>
+      <outgoingField>SalesprojectMemberPers_dfo</outgoingField>
     </entityField>
     <entityField>
       <name>SALESPROJECT_ID</name>
@@ -34,9 +40,12 @@
     </entityField>
     <entityField>
       <name>USER_EDIT</name>
+      <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/user_edit/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>USER_NEW</name>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/user_new/valueProcess.js</valueProcess>
     </entityField>
     <entityIncomingField>
       <name>SalesprojectMember_dfi</name>
@@ -91,7 +100,7 @@
       <state>READONLY</state>
     </entityField>
     <entityOutgoingField>
-      <name>PersSalesprojectMember_dfo</name>
+      <name>SalesprojectMemberPers_dfo</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -115,11 +124,20 @@
     </entityField>
     <entityField>
       <name>RELATIONSHIP</name>
+      <title>Relationship</title>
+      <description>Overrules RELATION_RELATIONSHIP</description>
+      <contentType>NUMBER</contentType>
       <onValueChange>%aditoprj%/entity/SalesprojectMember_entity/entityfields/relationship/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+      </onValueChangeTypes>
     </entityField>
     <entityField>
       <name>RELATION_RELATIONSHIP</name>
+      <title>Relationship</title>
       <description>TODO: Beziehung zu der Relation 1024846 (z.B. per Ampelsystem)</description>
+      <contentType>NUMBER</contentType>
     </entityField>
     <entityFieldGroup>
       <name>resultingRelation_fieldGroup</name>
diff --git a/entity/SalesprojectMember_entity/entityfields/date_edit/valueProcess.js b/entity/SalesprojectMember_entity/entityfields/date_edit/valueProcess.js
new file mode 100644
index 0000000000..710ac8a06a
--- /dev/null
+++ b/entity/SalesprojectMember_entity/entityfields/date_edit/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
+    result.string(vars.getString("$sys.date"));
\ No newline at end of file
diff --git a/entity/SalesprojectMember_entity/entityfields/date_new/valueProcess.js b/entity/SalesprojectMember_entity/entityfields/date_new/valueProcess.js
new file mode 100644
index 0000000000..3a0d59096c
--- /dev/null
+++ b/entity/SalesprojectMember_entity/entityfields/date_new/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(vars.getString("$sys.date"));
\ No newline at end of file
diff --git a/entity/SalesprojectMember_entity/entityfields/user_edit/valueProcess.js b/entity/SalesprojectMember_entity/entityfields/user_edit/valueProcess.js
new file mode 100644
index 0000000000..1581e18d97
--- /dev/null
+++ b/entity/SalesprojectMember_entity/entityfields/user_edit/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
+    result.string(vars.getString("$sys.user"));
\ No newline at end of file
diff --git a/entity/SalesprojectMember_entity/entityfields/user_new/valueProcess.js b/entity/SalesprojectMember_entity/entityfields/user_new/valueProcess.js
new file mode 100644
index 0000000000..7c566863b4
--- /dev/null
+++ b/entity/SalesprojectMember_entity/entityfields/user_new/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(vars.getString("$sys.user"));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index ed6d0e5edf..3e43eb36fb 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -52,6 +52,7 @@
     </entityField>
     <entityField>
       <name>ESTIMATIONVALUE</name>
+      <searchable v="false" />
     </entityField>
     <entityField>
       <name>INFO</name>
@@ -127,16 +128,8 @@
     <entityField>
       <name>PROBABILITY</name>
       <title>Probability</title>
+      <possibleItemsProcess>%aditoprj%/entity/Salesproject_entity/entityfields/probability/possibleItemsProcess.js</possibleItemsProcess>
     </entityField>
-    <entityFieldGroup>
-      <name>PROBABILITY_DISPLAY_fieldGroup</name>
-      <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/probability_display_fieldgroup/valueProcess.js</valueProcess>
-      <title>Probability</title>
-      <description>FIELDGROUP</description>
-      <fields>
-        <element>PROBABILITY</element>
-      </fields>
-    </entityFieldGroup>
     <entityFieldGroup>
       <name>VOLUME_DISPLAY_fieldGroup</name>
       <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/volume_display_fieldgroup/valueProcess.js</valueProcess>
@@ -254,7 +247,7 @@
     </entityOutgoingField>
     <entityOutgoingField>
       <name>SalesprojectMember_dfo</name>
-      <title>Member</title>
+      <title>${SALESPROJECT_MEMBER}</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
diff --git a/entity/Salesproject_entity/entityfields/probability/possibleItemsProcess.js b/entity/Salesproject_entity/entityfields/probability/possibleItemsProcess.js
new file mode 100644
index 0000000000..69979090d8
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/probability/possibleItemsProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Keyword_lib");
+
+result.object(KeywordUtils.getStandardArray("SALESPROJECT.PROBABILITY"));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/probability_display_fieldgroup/valueProcess.js b/entity/Salesproject_entity/entityfields/probability_display_fieldgroup/valueProcess.js
deleted file mode 100644
index be4266eb3e..0000000000
--- a/entity/Salesproject_entity/entityfields/probability_display_fieldgroup/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("system.vars");
-
-result.string(vars.get("$field.PROBABILITY") + "%");
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index b5285eef30..38371ff7fa 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -1437,6 +1437,12 @@
     <entry>
       <key>Employee</key>
     </entry>
+    <entry>
+      <key>Month</key>
+    </entry>
+    <entry>
+      <key>${SALESPROJECT_MEMBER}</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 3afab6b640..0366cab656 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -78,6 +78,10 @@
       <key>German (Germany)</key>
       <value>Deutsch (Deutschland)</value>
     </entry>
+    <entry>
+      <key>${SALESPROJECT_MEMBER}</key>
+      <value>Projektteam</value>
+    </entry>
     <entry>
       <key>Incoming</key>
       <value>Eingehend</value>
@@ -1138,6 +1142,7 @@
     </entry>
     <entry>
       <key>Member</key>
+      <value>Teammitglied</value>
     </entry>
     <entry>
       <key>A reason is only possible if a date is given.</key>
@@ -1149,6 +1154,7 @@
     </entry>
     <entry>
       <key>Role</key>
+      <value>Rolle</value>
     </entry>
     <entry>
       <key>End date</key>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 709fb0f20f..7d704ade1a 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -1454,6 +1454,13 @@
     <entry>
       <key>Employee</key>
     </entry>
+    <entry>
+      <key>Month</key>
+    </entry>
+    <entry>
+      <key>${SALESPROJECT_MEMBER}</key>
+      <value>Project member</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/OfferDetail_view/OfferDetail_view.aod b/neonView/OfferDetail_view/OfferDetail_view.aod
index 3e6da584b8..44b2b4f31c 100644
--- a/neonView/OfferDetail_view/OfferDetail_view.aod
+++ b/neonView/OfferDetail_view/OfferDetail_view.aod
@@ -11,7 +11,10 @@
   <children>
     <genericViewTemplate>
       <name>OfferDetail_template</name>
+      <showDrawer v="true" />
+      <drawerCaption>Detail</drawerCaption>
       <entityField>#ENTITY</entityField>
+      <title></title>
       <fields>
         <entityFieldLink>
           <name>8bf2a10e-e7e9-4f33-98cf-4ded02bf68a9</name>
diff --git a/neonView/OfferMain_view/OfferMain_view.aod b/neonView/OfferMain_view/OfferMain_view.aod
index 12b971259c..f25f05c8d5 100644
--- a/neonView/OfferMain_view/OfferMain_view.aod
+++ b/neonView/OfferMain_view/OfferMain_view.aod
@@ -14,16 +14,16 @@
       <entityField>#ENTITY</entityField>
       <view>OfferPreview_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>da7c8cef-a4f0-4614-a330-d81221abe566</name>
-      <entityField>OfferOfferitem_dfo</entityField>
-      <view>OfferitemFilter_view</view>
-    </neonViewReference>
     <neonViewReference>
       <name>e6b12eed-d67e-467c-9302-f6340f901235</name>
       <entityField>#ENTITY</entityField>
       <view>OfferDetail_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>da7c8cef-a4f0-4614-a330-d81221abe566</name>
+      <entityField>OfferOfferitem_dfo</entityField>
+      <view>OfferitemFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>e96f2fec-1a98-4380-895a-82ab78ba408a</name>
       <entityField>OfferDocument_dfo</entityField>
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index f59d42bff4..22341863c9 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -41,8 +41,8 @@
           <entityField>ENDDATE</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>c622af3d-81d2-4583-a2d6-1ac61e3d3535</name>
-          <entityField>PROBABILITY_DISPLAY_fieldGroup</entityField>
+          <name>0ba7dcb5-9606-4d74-8455-3423a16fd98a</name>
+          <entityField>PROBABILITY</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>fbd92799-b2e9-40e9-8700-f95765befa55</name>
diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js
index 9f343c7ebc..5079b0f98d 100644
--- a/process/Keyword_lib/process.js
+++ b/process/Keyword_lib/process.js
@@ -338,6 +338,15 @@ function KeywordUtils(){
                      })
                 ]);
                 break;
+            case "SALESPROJECT.PROBABILITY":
+                valueContainer = _createKeywordEntriesContainer([
+                     _createKeywordEntry("1", translate.text("0 %"), null, {percentValue: 0})
+                    ,_createKeywordEntry("2", translate.text("25 %"), null, {percentValue: 25})
+                    ,_createKeywordEntry("3", translate.text("50 %"), null, {percentValue: 50})
+                    ,_createKeywordEntry("4", translate.text("75 %"), null, {percentValue: 75})
+                    ,_createKeywordEntry("5", translate.text("100 %"), null, {percentValue: 100})
+                ]);
+                break;
             case "CLASS.BRANCHE":
                 valueContainer = _createKeywordEntriesContainer([
                      _createKeywordEntry("1", translate.text("Industry 1"), null, {points: 50})
-- 
GitLab