From df898d6ffcb4aeecf9e65136b09af11aba9d08ac Mon Sep 17 00:00:00 2001
From: "d.buechler" <d.buechler@adito.de>
Date: Tue, 30 Apr 2019 08:48:18 +0200
Subject: [PATCH] Fixed bug where campaign lookup was readonly when adding
 participant via person preview The current step gets pre filled if a
 participant is added on campaignstep level

---
 .../CampaignParticipant_entity.aod                          | 1 -
 .../entityfields/campaign_id/stateProcess.js                | 3 +--
 .../entityfields/campaign_id/valueProcess.js                | 5 +++++
 .../entityfields/campaignstep_id/displayValueProcess.js     | 6 +++---
 .../entityfields/campaignstep_id/onValueChange.js           | 3 ---
 entity/Campaign_entity/recordcontainers/db/onDBDelete.js    | 2 +-
 6 files changed, 10 insertions(+), 10 deletions(-)
 delete mode 100644 entity/CampaignParticipant_entity/entityfields/campaignstep_id/onValueChange.js

diff --git a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
index 6615e8ac0e..d5f23cd0e3 100644
--- a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
+++ b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
@@ -83,7 +83,6 @@
       <mandatory v="true" />
       <state>EDITABLE</state>
       <displayValueProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/CampaignParticipant_entity/entityfields/campaignstep_id/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
         <element>PROCESS</element>
diff --git a/entity/CampaignParticipant_entity/entityfields/campaign_id/stateProcess.js b/entity/CampaignParticipant_entity/entityfields/campaign_id/stateProcess.js
index 08bb8ede9a..b9a78038b4 100644
--- a/entity/CampaignParticipant_entity/entityfields/campaign_id/stateProcess.js
+++ b/entity/CampaignParticipant_entity/entityfields/campaign_id/stateProcess.js
@@ -1,9 +1,8 @@
 import("system.neon");
 import("system.result");
 import("system.vars");
-import("system.logging");
 
-if(vars.exists("$param.CampaignId_param") && vars.get("$param.CampaignId_param") != "")
+if(vars.exists("$param.CampaignId_param") && vars.get("$param.CampaignId_param") != null)
     result.string(neon.COMPONENTSTATE_READONLY);
 else
     result.string(neon.COMPONENTSTATE_EDITABLE);
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/entityfields/campaign_id/valueProcess.js b/entity/CampaignParticipant_entity/entityfields/campaign_id/valueProcess.js
index 619a4eb387..786b8bb1a5 100644
--- a/entity/CampaignParticipant_entity/entityfields/campaign_id/valueProcess.js
+++ b/entity/CampaignParticipant_entity/entityfields/campaign_id/valueProcess.js
@@ -5,5 +5,10 @@ import("system.vars");
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && 
     vars.exists("$param.CampaignId_param") && vars.get("$param.CampaignId_param"))
     {
+        //todo
+        //Has to be set here because of a bug which prevents loading of the param in the value process
+        if(vars.exists("$param.CampaignStepId_param") && vars.get("$param.CampaignStepId_param"))
+            neon.setFieldValue("$field.CAMPAIGNSTEP_ID", vars.get("$param.CampaignStepId_param"));
+        
         result.string(vars.get("$param.CampaignId_param"));
     }
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js b/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js
index e99107695e..6a379f5fd6 100644
--- a/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js
+++ b/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js
@@ -1,7 +1,7 @@
-import("system.logging");
+import("Campaign_lib");
 import("system.vars");
 import("system.db");
 import("system.result");
 
-logging.log("campaignstep_idim displayvalue -> " + vars.get("$field.CAMPAIGNSTEP_ID"));
-result.string(db.cell("select NAME from CAMPAIGNSTEP where CAMPAIGNSTEPID = '" + vars.get("$field.CAMPAIGNSTEP_ID") + "'"));
\ No newline at end of file
+
+result.string(CampaignUtils.getCampaignStepNameById(vars.get("$field.CAMPAIGNSTEP_ID")));
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/entityfields/campaignstep_id/onValueChange.js b/entity/CampaignParticipant_entity/entityfields/campaignstep_id/onValueChange.js
deleted file mode 100644
index 786b3ee87f..0000000000
--- a/entity/CampaignParticipant_entity/entityfields/campaignstep_id/onValueChange.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import("system.vars");
-import("system.logging");
-logging.log("campaignstep_id im onValueChange -> " + vars.get("$field.CAMPAIGNSTEP_ID"));
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/onDBDelete.js b/entity/Campaign_entity/recordcontainers/db/onDBDelete.js
index fe6d290a0d..af050049af 100644
--- a/entity/Campaign_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Campaign_entity/recordcontainers/db/onDBDelete.js
@@ -2,7 +2,7 @@ import("system.db");
 import("system.vars");
 import("Sql_lib");
 
-var currentId = vars.getString("$field.SALESPROJECTID");
+var currentId = vars.getString("$field.CAMPAIGNID");
 
 if (currentId)
 {
-- 
GitLab