From 362160cffea8c1c25b942ae70829990dd3f2e4ee Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Thu, 25 Apr 2019 15:50:23 +0200
Subject: [PATCH] improve campaigncost

---
 .../CampaignCost_entitiy.aod                  |  1 +
 .../afterOperatingState.js                    |  7 ++++
 .../target_context/valueProcess.js            |  2 +-
 .../entityfields/target_rowid/valueProcess.js |  4 --
 neonContext/CampaignCost/CampaignCost.aod     |  4 ++
 .../CampaignCostFilter_view.aod               |  3 --
 .../CampaignStepCostFilter_view.aod           | 39 +++++++++++++++++++
 .../CampaignStepMain_view.aod                 |  4 +-
 8 files changed, 54 insertions(+), 10 deletions(-)
 create mode 100644 entity/CampaignCost_entitiy/afterOperatingState.js
 create mode 100644 neonView/CampaignStepCostFilter_view/CampaignStepCostFilter_view.aod

diff --git a/entity/CampaignCost_entitiy/CampaignCost_entitiy.aod b/entity/CampaignCost_entitiy/CampaignCost_entitiy.aod
index 3896ae9bcc6..aae44ab683a 100644
--- a/entity/CampaignCost_entitiy/CampaignCost_entitiy.aod
+++ b/entity/CampaignCost_entitiy/CampaignCost_entitiy.aod
@@ -2,6 +2,7 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.2">
   <name>CampaignCost_entitiy</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <afterOperatingState>%aditoprj%/entity/CampaignCost_entitiy/afterOperatingState.js</afterOperatingState>
   <recordContainer>db</recordContainer>
   <entityFields>
     <entityProvider>
diff --git a/entity/CampaignCost_entitiy/afterOperatingState.js b/entity/CampaignCost_entitiy/afterOperatingState.js
new file mode 100644
index 00000000000..d3933640237
--- /dev/null
+++ b/entity/CampaignCost_entitiy/afterOperatingState.js
@@ -0,0 +1,7 @@
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_VIEW) 
+{
+    neon.refreshAll();
+}
\ No newline at end of file
diff --git a/entity/CampaignCost_entitiy/entityfields/target_context/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/target_context/valueProcess.js
index 246cdf83481..21136815c68 100644
--- a/entity/CampaignCost_entitiy/entityfields/target_context/valueProcess.js
+++ b/entity/CampaignCost_entitiy/entityfields/target_context/valueProcess.js
@@ -7,5 +7,5 @@ if (vars.exists("$field.CAMPAIGNSTEP_ID") && vars.get("$field.CAMPAIGNSTEP_ID"))
 }
 else
 {
-    result.string("Campaign");
+    result.string("");
 }
\ No newline at end of file
diff --git a/entity/CampaignCost_entitiy/entityfields/target_rowid/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/target_rowid/valueProcess.js
index aa45c28884f..53ce792ae36 100644
--- a/entity/CampaignCost_entitiy/entityfields/target_rowid/valueProcess.js
+++ b/entity/CampaignCost_entitiy/entityfields/target_rowid/valueProcess.js
@@ -4,8 +4,4 @@ import("system.vars");
 if (vars.exists("$field.CAMPAIGNSTEP_ID") && vars.get("$field.CAMPAIGNSTEP_ID"))
 {
     result.string(vars.get("$field.CAMPAIGNSTEP_ID"));
-}
-else
-{
-    result.string(vars.get("$field.CAMPAIGN_ID"));
 }
\ No newline at end of file
diff --git a/neonContext/CampaignCost/CampaignCost.aod b/neonContext/CampaignCost/CampaignCost.aod
index 77dbea4066f..5db7bce277b 100644
--- a/neonContext/CampaignCost/CampaignCost.aod
+++ b/neonContext/CampaignCost/CampaignCost.aod
@@ -14,5 +14,9 @@
       <name>34fefde3-d3cf-4a64-92e2-fe1150c286eb</name>
       <view>CampaignCostEdit_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>01137074-b129-42bc-86b7-82afc356923b</name>
+      <view>CampaignStepCostFilter_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod b/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod
index d3aa7016916..72f5af4f8b3 100644
--- a/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod
+++ b/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod
@@ -12,9 +12,6 @@
     <treeTableViewTemplate>
       <name>CostTreeTable</name>
       <favoriteActionGroup1>alter</favoriteActionGroup1>
-      <defaultGroupFields>
-        <element>CAMPAIGNSTEP_ID</element>
-      </defaultGroupFields>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/CampaignStepCostFilter_view/CampaignStepCostFilter_view.aod b/neonView/CampaignStepCostFilter_view/CampaignStepCostFilter_view.aod
new file mode 100644
index 00000000000..e2e0f967d7d
--- /dev/null
+++ b/neonView/CampaignStepCostFilter_view/CampaignStepCostFilter_view.aod
@@ -0,0 +1,39 @@
+<?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>CampaignStepCostFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <treeTableViewTemplate>
+      <name>CostTreeTable</name>
+      <favoriteActionGroup1>alter</favoriteActionGroup1>
+      <defaultGroupFields>
+        <element>CAMPAIGNSTEP_ID</element>
+      </defaultGroupFields>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>457caff8-0403-425f-839c-62e5d05fe3a1</name>
+          <entityField>CATEGORY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f8c6439c-9536-477b-af19-26719902e12e</name>
+          <entityField>netPerParticipant</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>8239e81b-d69c-4ea9-b55d-83e79d1693cf</name>
+          <entityField>countParticipants</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>2adbd887-f1df-43ff-bde9-12c8273af7a9</name>
+          <entityField>NET</entityField>
+        </neonTableColumn>
+      </columns>
+    </treeTableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignStepMain_view/CampaignStepMain_view.aod b/neonView/CampaignStepMain_view/CampaignStepMain_view.aod
index 8e391911752..f649cd097d5 100644
--- a/neonView/CampaignStepMain_view/CampaignStepMain_view.aod
+++ b/neonView/CampaignStepMain_view/CampaignStepMain_view.aod
@@ -25,9 +25,9 @@
       <view>CampaignStepAnalysis_view</view>
     </neonViewReference>
     <neonViewReference>
-      <name>b17669a6-7ddf-428a-983c-df18a2f7a738</name>
+      <name>c3810063-9fdd-4f11-b742-ce311cbb183e</name>
       <entityField>CampaignStepCosts</entityField>
-      <view>CampaignCostFilter_view</view>
+      <view>CampaignStepCostFilter_view</view>
     </neonViewReference>
   </children>
 </neonView>
-- 
GitLab