From bf41b2e313f51953f8e00d9fb518c345dadf5626 Mon Sep 17 00:00:00 2001
From: "d.buechler" <d.buechler@adito.de>
Date: Fri, 26 Apr 2019 15:04:04 +0200
Subject: [PATCH] =?UTF-8?q?In=20der=20Preview=20der=20Stufe=20gibt=20es=20?=
 =?UTF-8?q?nun=20einen=20Verweis=20auf=20die=20dazugeh=C3=B6rige=20Kampagn?=
 =?UTF-8?q?e=20Die=20Preview=20der=20Kampagne=20hat=20nun=20drei=20Kerninf?=
 =?UTF-8?q?os=20per=20Scorecard=20in=20der=20Preview=20angezeigt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../campaign_id/displayValueProcess.js        |  2 --
 .../campaign_id/displayValueProcess.js        |  7 ++++++
 entity/Campaign_entity/Campaign_entity.aod    | 10 ++++++++
 .../participantcount/valueProcess.js          |  4 ++++
 .../CampaignPreview_view.aod                  | 24 +++++++++++++++----
 process/Campaign_lib/process.js               | 12 ++++++++++
 6 files changed, 53 insertions(+), 6 deletions(-)
 create mode 100644 entity/CampaignStep_entity/entityfields/campaign_id/displayValueProcess.js
 create mode 100644 entity/Campaign_entity/entityfields/participantcount/valueProcess.js

diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaign_id/displayValueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/campaign_id/displayValueProcess.js
index 617c4952549..c00610e8739 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaign_id/displayValueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaign_id/displayValueProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.result");
 import("system.db");
 import("system.vars");
@@ -6,5 +5,4 @@ import("Campaign_lib");
 
 var campaignId = vars.get("$field.CAMPAIGN_ID");
 var campaignName = CampaignUtils.getCampaignNameById(campaignId);
-logging.log("CampaignAddParticipants: CAPMAIGN_ID displayValueProcess -> " + campaignName);
 result.string(campaignName);
\ No newline at end of file
diff --git a/entity/CampaignStep_entity/entityfields/campaign_id/displayValueProcess.js b/entity/CampaignStep_entity/entityfields/campaign_id/displayValueProcess.js
new file mode 100644
index 00000000000..d31669f1445
--- /dev/null
+++ b/entity/CampaignStep_entity/entityfields/campaign_id/displayValueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+import("Campaign_lib");
+
+var campaignId = vars.get("$this.value");
+var campaignName = CampaignUtils.getCampaignNameById(campaignId)
+result.string(campaignName);
\ No newline at end of file
diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod
index 679a410f39a..1b94e921076 100644
--- a/entity/Campaign_entity/Campaign_entity.aod
+++ b/entity/Campaign_entity/Campaign_entity.aod
@@ -218,6 +218,16 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityField>
+      <name>stepCount</name>
+      <title>Steps</title>
+      <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/stepcount/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>participantCount</name>
+      <title>Participants</title>
+      <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/participantcount/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Campaign_entity/entityfields/participantcount/valueProcess.js b/entity/Campaign_entity/entityfields/participantcount/valueProcess.js
new file mode 100644
index 00000000000..184e4e80abb
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/participantcount/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("system.vars");
+import("Campaign_lib");
+result.string(CampaignUtils.getParticipantCount(vars.get("$field.CAMPAIGNID")));
\ No newline at end of file
diff --git a/neonView/CampaignPreview_view/CampaignPreview_view.aod b/neonView/CampaignPreview_view/CampaignPreview_view.aod
index 4ca3d91f4f7..a1d6b8859c1 100644
--- a/neonView/CampaignPreview_view/CampaignPreview_view.aod
+++ b/neonView/CampaignPreview_view/CampaignPreview_view.aod
@@ -5,9 +5,11 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <icon>VAADIN:GROUP</icon>
   <layout>
-    <boxLayout>
+    <headerFooterLayout>
       <name>layout</name>
-    </boxLayout>
+      <header>Header</header>
+      <footer>ScoreCard</footer>
+    </headerFooterLayout>
   </layout>
   <children>
     <cardViewTemplate>
@@ -31,11 +33,25 @@
           <name>a52607c9-da9c-4894-acc6-f31024510d6d</name>
           <entityField>DATE_END</entityField>
         </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <scoreCardViewTemplate>
+      <name>ScoreCard</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
         <entityFieldLink>
-          <name>87b03a62-3508-4267-afd6-95428f0d1f8d</name>
+          <name>df1b29fd-0d20-4be0-b6a3-785dadb8a35b</name>
           <entityField>COST</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>1cdf9373-790e-47ae-a6ce-d7673cb8cdb2</name>
+          <entityField>participantCount</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>b689668f-1d48-4ff1-95d9-2e217547c853</name>
+          <entityField>stepCount</entityField>
+        </entityFieldLink>
       </fields>
-    </genericViewTemplate>
+    </scoreCardViewTemplate>
   </children>
 </neonView>
diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js
index eb04a8ad3e0..d4932b0cc7d 100644
--- a/process/Campaign_lib/process.js
+++ b/process/Campaign_lib/process.js
@@ -94,6 +94,18 @@ CampaignUtils.getMaxParticipantCountForStep = function(pCampaignStepId)
     return _CampaignUtils._loadSingleValueFromDb(selectQuery, conditionField, pCampaignStepId, defaultValue);
 }
 
+/**
+ * todo
+ */
+CampaignUtils.getStepCount = function(pCampaignId)
+{
+    let selectQuery = "select count(*) from CAMPAIGNSTEP";
+    let conditionField = "CAMPAIGNSTEP.CAMPAIGN_ID";
+    let defaultValue = 0;
+    
+    return _CampaignUtils._loadSingleValueFromDb(selectQuery, conditionField, pCampaignId, defaultValue);
+}
+
 /**
  * todo
  */
-- 
GitLab