From 17a86513bae3db1158c2791a463db7293ff9b467 Mon Sep 17 00:00:00 2001
From: "d.lechner" <d.lechner@adito.de>
Date: Tue, 7 May 2019 11:44:06 +0200
Subject: [PATCH] Changes after Review

---
 .../CampaignParticipant_entity.aod            |  1 +
 .../CampaignStep_entity.aod                   | 10 ++++--
 entity/Campaign_entity/Campaign_entity.aod    | 33 ++++++++++++++++---
 .../children/campaignid_param/valueProcess.js |  5 +++
 .../entityfields/description/titleProcess.js  |  9 +++++
 .../remainingruntime/valueProcess.js          |  2 ++
 .../_____LANGUAGE_EXTRA.aod                   |  6 ++++
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  8 +++++
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |  6 ++++
 neonContext/CampaignStep/CampaignStep.aod     |  4 +++
 .../CampaignParticipantFilter_view.aod        | 17 ++++++----
 .../CampaignPreview_view.aod                  | 25 ++++++++++++--
 .../CampaignStepParticipnatsPerStep_view.aod  | 27 +++++++++++++++
 13 files changed, 136 insertions(+), 17 deletions(-)
 create mode 100644 entity/Campaign_entity/entityfields/campaignstepsreadonly/children/campaignid_param/valueProcess.js
 create mode 100644 entity/Campaign_entity/entityfields/description/titleProcess.js
 create mode 100644 entity/Campaign_entity/entityfields/remainingruntime/valueProcess.js
 create mode 100644 neonView/CampaignStepParticipnatsPerStep_view/CampaignStepParticipnatsPerStep_view.aod

diff --git a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
index eb01a022380..92dde9b3b1b 100644
--- a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
+++ b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
@@ -83,6 +83,7 @@
       <title>Campaign Step</title>
       <consumer>CampaignSteps</consumer>
       <mandatory v="true" />
+      <groupable v="true" />
       <state>EDITABLE</state>
       <displayValueProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js</displayValueProcess>
       <onValueChangeTypes>
diff --git a/entity/CampaignStep_entity/CampaignStep_entity.aod b/entity/CampaignStep_entity/CampaignStep_entity.aod
index 738e536c447..8dd8aa14472 100644
--- a/entity/CampaignStep_entity/CampaignStep_entity.aod
+++ b/entity/CampaignStep_entity/CampaignStep_entity.aod
@@ -127,6 +127,12 @@
           <fieldName>CampaignSteps</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>3fde1e51-cc4c-4727-b4e7-fd30bed1ee04</name>
+          <entityName>Campaign_entity</entityName>
+          <fieldName>CampaignStepsReadonly</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
@@ -247,8 +253,8 @@
     </entityConsumer>
     <entityConsumer>
       <name>Activities</name>
-      <title>Activities</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <title>Activities</title>
       <dependency>
         <name>dependency</name>
         <entityName>Activity_entity</entityName>
@@ -267,8 +273,8 @@
     </entityConsumer>
     <entityConsumer>
       <name>Tasks</name>
-      <title>Tasks</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <title>Tasks</title>
       <stateProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/tasks/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod
index 867930d1b26..70adc52ce6a 100644
--- a/entity/Campaign_entity/Campaign_entity.aod
+++ b/entity/Campaign_entity/Campaign_entity.aod
@@ -57,8 +57,9 @@
     </entityField>
     <entityField>
       <name>DESCRIPTION</name>
-      <title>Description</title>
+      <title></title>
       <contentType>LONG_TEXT</contentType>
+      <titleProcess>%aditoprj%/entity/Campaign_entity/entityfields/description/titleProcess.js</titleProcess>
     </entityField>
     <entityField>
       <name>USER_NEW</name>
@@ -85,6 +86,7 @@
     <entityConsumer>
       <name>CampaignSteps</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <state>EDITABLE</state>
       <dependency>
         <name>dependency</name>
         <entityName>CampaignStep_entity</entityName>
@@ -236,8 +238,8 @@
     </entityField>
     <entityConsumer>
       <name>Activities</name>
-      <title>Activities</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <title>Activities</title>
       <dependency>
         <name>dependency</name>
         <entityName>Activity_entity</entityName>
@@ -256,8 +258,8 @@
     </entityConsumer>
     <entityConsumer>
       <name>Tasks</name>
-      <title>Tasks</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <title>Tasks</title>
       <stateProcess>%aditoprj%/entity/Campaign_entity/entityfields/tasks/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
@@ -293,8 +295,8 @@
     </entityActionField>
     <entityConsumer>
       <name>CampaignCostsChart</name>
-      <title>Charts</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <title>Charts</title>
       <dependency>
         <name>dependency</name>
         <entityName>CampaignCostChart_entity</entityName>
@@ -309,8 +311,8 @@
     </entityConsumer>
     <entityConsumer>
       <name>CampaignParticipantsChart</name>
-      <title>Chart 2</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <title>Chart 2</title>
       <dependency>
         <name>dependency</name>
         <entityName>CampaignParticipantChart_entity</entityName>
@@ -323,6 +325,27 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityField>
+      <name>remainingRuntime</name>
+      <title>Remaining Runtime</title>
+      <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/remainingruntime/valueProcess.js</valueProcess>
+    </entityField>
+    <entityConsumer>
+      <name>CampaignStepsReadonly</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <state>READONLY</state>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignStep_entity</entityName>
+        <fieldName>CampaignSteps</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>campaignId_param</name>
+          <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaignstepsreadonly/children/campaignid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Campaign_entity/entityfields/campaignstepsreadonly/children/campaignid_param/valueProcess.js b/entity/Campaign_entity/entityfields/campaignstepsreadonly/children/campaignid_param/valueProcess.js
new file mode 100644
index 00000000000..ea290bfda93
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/campaignstepsreadonly/children/campaignid_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.logging");
+import("system.result");
+import("system.vars");
+
+result.string(vars.getString("$field.CAMPAIGNID"));
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/description/titleProcess.js b/entity/Campaign_entity/entityfields/description/titleProcess.js
new file mode 100644
index 00000000000..076336c605a
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/description/titleProcess.js
@@ -0,0 +1,9 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+import("system.translate");
+
+if(vars.get("$sys.operatingstate") != neon.OPERATINGSTATE_VIEW)
+{
+    result.string(translate.text("Description"));
+}
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/remainingruntime/valueProcess.js b/entity/Campaign_entity/entityfields/remainingruntime/valueProcess.js
new file mode 100644
index 00000000000..f1bb2d459a4
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/remainingruntime/valueProcess.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("4");
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 8480e8fe42d..5486ccc1ff9 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -3483,6 +3483,12 @@
     <entry>
       <key>Offer date</key>
     </entry>
+    <entry>
+      <key>Overview</key>
+    </entry>
+    <entry>
+      <key>Participated</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 168003f9707..68b889058f3 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -62,6 +62,10 @@
       <key>${ATTRIBUTE_VOID}</key>
       <value>Tag</value>
     </entry>
+    <entry>
+      <key>Campaign Period</key>
+      <value>Kampagnen Laufzeit</value>
+    </entry>
     <entry>
       <key>Turnover</key>
       <value>Umsatz</value>
@@ -635,6 +639,10 @@
       <key>Contract start date</key>
       <value>Vertragsbeginn</value>
     </entry>
+    <entry>
+      <key>Remaining Runtime</key>
+      <value>Restlaufzeit</value>
+    </entry>
     <entry>
       <key>Spare parts</key>
       <value>Ersatzteile</value>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index bd0432969da..51dafeb3c6f 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -3518,6 +3518,12 @@
     <entry>
       <key>Offer date</key>
     </entry>
+    <entry>
+      <key>Overview</key>
+    </entry>
+    <entry>
+      <key>Participated</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonContext/CampaignStep/CampaignStep.aod b/neonContext/CampaignStep/CampaignStep.aod
index 17e6119fb7f..4347dcf41de 100644
--- a/neonContext/CampaignStep/CampaignStep.aod
+++ b/neonContext/CampaignStep/CampaignStep.aod
@@ -34,5 +34,9 @@
       <name>c1be17f6-c4ca-4d9d-8c3a-0cc8f75906f6</name>
       <view>CampaignStepAddParticipants_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>ad879f25-4659-49d0-81ed-2e09c8b11ac1</name>
+      <view>CampaignStepParticipnatsPerStep_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
index cb62a6a0561..47076d4fcbf 100644
--- a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
+++ b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
@@ -4,28 +4,31 @@
   <title></title>
   <description></description>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="false" />
+  <filterable v="true" />
   <layout>
     <boxLayout>
       <name>layout</name>
     </boxLayout>
   </layout>
   <children>
-    <tableViewTemplate>
-      <name>ParticipantsTable</name>
+    <treeTableViewTemplate>
+      <name>ParticipantsTreeTable</name>
+      <parentField>CAMPAIGNSTEP_ID</parentField>
       <favoriteActionGroup1>FilterViewActionGroup</favoriteActionGroup1>
-      <favoriteActionGroup2></favoriteActionGroup2>
+      <defaultGroupFields>
+        <element>CAMPAIGNSTEP_ID</element>
+      </defaultGroupFields>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
-          <name>85558e09-e1f0-4430-b779-f807f5763808</name>
+          <name>8bfe5a3d-e0c2-4a34-b510-984960c6de6f</name>
           <entityField>CONTACT_ID</entityField>
         </neonTableColumn>
         <neonTableColumn>
-          <name>fc7ef954-ec19-43cf-bc0c-908760f20144</name>
+          <name>feeea168-1cf9-4402-86ad-ede7d511750f</name>
           <entityField>CAMPAIGNSTEP_ID</entityField>
         </neonTableColumn>
       </columns>
-    </tableViewTemplate>
+    </treeTableViewTemplate>
   </children>
 </neonView>
diff --git a/neonView/CampaignPreview_view/CampaignPreview_view.aod b/neonView/CampaignPreview_view/CampaignPreview_view.aod
index 6fd667be9fa..b5772a5f1f3 100644
--- a/neonView/CampaignPreview_view/CampaignPreview_view.aod
+++ b/neonView/CampaignPreview_view/CampaignPreview_view.aod
@@ -16,13 +16,14 @@
       <name>Header</name>
       <titleField>NAME</titleField>
       <subtitleField>STATE</subtitleField>
-      <descriptionField>DESCRIPTION</descriptionField>
       <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
       <title></title>
     </cardViewTemplate>
     <genericViewTemplate>
       <name>TimespanGeneric</name>
+      <showDrawer v="true" />
+      <drawerCaption>Campaign Period</drawerCaption>
       <entityField>#ENTITY</entityField>
       <title>Kampagnenzeitraum</title>
       <fields>
@@ -36,6 +37,24 @@
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
+    <neonViewReference>
+      <name>4ae0c7d5-8573-4e4d-a047-2944d82aebe0</name>
+      <entityField>CampaignStepsReadonly</entityField>
+      <view>CampaignStepParticipnatsPerStep_view</view>
+    </neonViewReference>
+    <genericViewTemplate>
+      <name>Description</name>
+      <showDrawer v="true" />
+      <hideLabels v="true" />
+      <entityField>#ENTITY</entityField>
+      <title>Beschreibung</title>
+      <fields>
+        <entityFieldLink>
+          <name>d7c993ff-9696-4de8-9ba5-fc7c92a1a22b</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
     <scoreCardViewTemplate>
       <name>ScoreCard</name>
       <entityField>#ENTITY</entityField>
@@ -45,8 +64,8 @@
           <entityField>COST</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>1cdf9373-790e-47ae-a6ce-d7673cb8cdb2</name>
-          <entityField>participantCount</entityField>
+          <name>53123640-7524-426a-bb5c-16dab64cef76</name>
+          <entityField>remainingRuntime</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>b689668f-1d48-4ff1-95d9-2e217547c853</name>
diff --git a/neonView/CampaignStepParticipnatsPerStep_view/CampaignStepParticipnatsPerStep_view.aod b/neonView/CampaignStepParticipnatsPerStep_view/CampaignStepParticipnatsPerStep_view.aod
new file mode 100644
index 00000000000..14cbf839e1a
--- /dev/null
+++ b/neonView/CampaignStepParticipnatsPerStep_view/CampaignStepParticipnatsPerStep_view.aod
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView 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/neonView/1.1.1">
+  <name>CampaignStepParticipnatsPerStep_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <titledListViewTemplate>
+      <name>ParticipantsPerStep</name>
+      <highlightingField>CurrentMaxParticipantsInfo</highlightingField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>04ff1319-d06d-4738-a221-5755c016af70</name>
+          <entityField>NAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>4ea71a13-4108-47a5-9a28-2256618fdc2c</name>
+          <entityField>CurrentMaxParticipantsInfo</entityField>
+        </neonTableColumn>
+      </columns>
+    </titledListViewTemplate>
+  </children>
+</neonView>
-- 
GitLab