From 3b5d0144bbb8eae55cc45c20b93fd036fe880596 Mon Sep 17 00:00:00 2001
From: "d.buechler" <d.buechler@adito.de>
Date: Thu, 25 Apr 2019 14:33:16 +0200
Subject: [PATCH] Edit_view of CampaignParticipant_entity.aod: Single add from
 contact preview: The contact field is readonly Single add from
 CampaignParticipant: The contact field is editable, that a contact to add can
 be selected

---
 .../CampaignParticipant_entity.aod                   |  2 +-
 .../entityfields/campaign_id/onValueChange.js        |  2 +-
 .../entityfields/campaignstep_id/valueProcess.js     | 12 ------------
 .../entityfields/contact_id/stateProcess.js          | 12 ++++++++++++
 4 files changed, 14 insertions(+), 14 deletions(-)
 delete mode 100644 entity/CampaignParticipant_entity/entityfields/campaignstep_id/valueProcess.js
 create mode 100644 entity/CampaignParticipant_entity/entityfields/contact_id/stateProcess.js

diff --git a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
index 8969b5341c..915da6b61a 100644
--- a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
+++ b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
@@ -77,7 +77,6 @@
       <title>Campaign Step</title>
       <consumer>CampaignSteps</consumer>
       <state>EDITABLE</state>
-      <valueProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/campaignstep_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/CampaignParticipant_entity/entityfields/campaignstep_id/onValueChange.js</onValueChange>
       <onValueChangeTypes>
@@ -108,6 +107,7 @@
       <consumer>AnyContacts</consumer>
       <linkedContextProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/contact_id/linkedContextProcess.js</linkedContextProcess>
       <state>READONLY</state>
+      <stateProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/contact_id/stateProcess.js</stateProcess>
       <valueProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/contact_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/contact_id/displayValueProcess.js</displayValueProcess>
     </entityField>
diff --git a/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js b/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js
index 07814c86a4..3310f3466e 100644
--- a/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js
+++ b/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js
@@ -4,5 +4,5 @@ import("Campaign_lib");
 import("system.vars");
 
 var stepId = CampaignUtils.getDefaultCampaignStep(vars.get("$field.CAMPAIGN_ID"));
-
+logging.log("stepId -> " + stepId);
 neon.setFieldValue("$field.CAMPAIGNSTEP_ID", stepId);
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/entityfields/campaignstep_id/valueProcess.js b/entity/CampaignParticipant_entity/entityfields/campaignstep_id/valueProcess.js
deleted file mode 100644
index 5c754b2b2b..0000000000
--- a/entity/CampaignParticipant_entity/entityfields/campaignstep_id/valueProcess.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import("system.logging");
-import("system.neon");
-import("system.result");
-import("system.vars");
-
-logging.log("test -> " + vars.exists("$param.CampaignStepId_param"));
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && 
-   vars.exists("$param.CampaignStepId_param") && vars.get("$param.CampaignStepId_param"))
-{
-    logging.log("campaignParticipant.CAMPAIGNSTEP_ID valueProcess -> CampaignStepId_param " + vars.get("$param.CampaignStepId_param"));
-   result.string(vars.get("$param.CampaignStepId_param"));
-}
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/entityfields/contact_id/stateProcess.js b/entity/CampaignParticipant_entity/entityfields/contact_id/stateProcess.js
new file mode 100644
index 0000000000..5b68625976
--- /dev/null
+++ b/entity/CampaignParticipant_entity/entityfields/contact_id/stateProcess.js
@@ -0,0 +1,12 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param"))
+    //A contact has been provided. Show it in readonly.
+    fieldState = neon.COMPONENTSTATE_READONLY;
+else
+    //No contact has been provided, therefore let the user select one.
+    fieldState = neon.COMPONENTSTATE_EDITABLE;
+    
+result.string(fieldState);
\ No newline at end of file
-- 
GitLab