From b743b01232ddf1d066a8a6b60fb0f0270f2bdcd0 Mon Sep 17 00:00:00 2001
From: "S.Listl" <S.Listl@SLISTL.aditosoftware.local>
Date: Tue, 13 Aug 2019 13:19:50 +0200
Subject: [PATCH] Activity group by year

---
 entity/Activity_entity/Activity_entity.aod     |  6 ++++++
 .../entityfields/entryyear/valueProcess.js     |  6 ++++++
 .../CampaignParticipant_entity.aod             | 18 ++++++++++++++++++
 .../expression.js                              |  6 ++++++
 .../expression.js                              |  5 +++++
 language/_____LANGUAGE_de/_____LANGUAGE_de.aod |  4 ++++
 .../CampaignParticipantFilter_view.aod         |  8 ++++++++
 7 files changed, 53 insertions(+)
 create mode 100644 entity/Activity_entity/entityfields/entryyear/valueProcess.js
 create mode 100644 entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_email_communication.displayvalue/expression.js
 create mode 100644 entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_phone_communication.displayvalue/expression.js

diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index fdb6fb79556..d94015b2c51 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -531,6 +531,12 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityField>
+      <name>ENTRYYEAR</name>
+      <title>Entrydate (Year)</title>
+      <groupable v="true" />
+      <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/entryyear/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Activity_entity/entityfields/entryyear/valueProcess.js b/entity/Activity_entity/entityfields/entryyear/valueProcess.js
new file mode 100644
index 00000000000..d0a0b4c3271
--- /dev/null
+++ b/entity/Activity_entity/entityfields/entryyear/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.datetime");
+import("system.result");
+import("system.vars");
+
+var entryDate = vars.get("$field.ENTRYDATE");
+result.string(datetime.toDate(entryDate, "yyyy"));
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
index 62f9bbabc73..c215f745c25 100644
--- a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
+++ b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
@@ -212,6 +212,16 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityField>
+      <name>STANDARD_EMAIL_COMMUNICATION</name>
+      <title>E-Mail</title>
+      <state>READONLY</state>
+    </entityField>
+    <entityField>
+      <name>STANDARD_PHONE_COMMUNICATION</name>
+      <title>Phone</title>
+      <state>READONLY</state>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -269,6 +279,14 @@
           <name>ADVERTISINGBAN.value</name>
           <expression>%aditoprj%/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/advertisingban.value/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STANDARD_PHONE_COMMUNICATION.displayValue</name>
+          <expression>%aditoprj%/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_phone_communication.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STANDARD_EMAIL_COMMUNICATION.displayValue</name>
+          <expression>%aditoprj%/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_email_communication.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_email_communication.displayvalue/expression.js b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_email_communication.displayvalue/expression.js
new file mode 100644
index 00000000000..28967142d41
--- /dev/null
+++ b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_email_communication.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("Sql_lib");
+import("system.result");
+import("Communication_lib");
+
+var res = CommUtil.getStandardSubSqlMail(SqlCondition.begin().and("COMMUNICATION.CONTACT_ID = CAMPAIGNPARTICIPANT.CONTACT_ID"));
+result.string(res);
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_phone_communication.displayvalue/expression.js b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_phone_communication.displayvalue/expression.js
new file mode 100644
index 00000000000..1b654090c3c
--- /dev/null
+++ b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/standard_phone_communication.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Communication_lib");
+
+var res = CommUtil.getStandardSubSqlPhone(SqlCondition.begin().and("COMMUNICATION.CONTACT_ID = CAMPAIGNPARTICIPANT.CONTACT_ID"));
+result.string(res);
\ No newline at end of file
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index ec77ad9c983..0823e6b422c 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -2133,6 +2133,10 @@
       <key>Montserrat</key>
       <value>Montserrat</value>
     </entry>
+    <entry>
+      <key>Entrydate (Year)</key>
+      <value>Eingangsdatum (Jahr)</value>
+    </entry>
     <entry>
       <key>Guadeloupe</key>
       <value>Guadeloupe</value>
diff --git a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
index 240d2d812b9..f977448e5c7 100644
--- a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
+++ b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
@@ -30,6 +30,14 @@
           <name>1649e2e9-e3b3-4a41-960d-39002cb6b2d8</name>
           <entityField>CAMPAIGNSTEP_ID</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>20c9aed5-cf30-484b-a68b-c1f6ca0459db</name>
+          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>0071a91d-b716-4ee9-a373-9c8eac9626b8</name>
+          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
+        </neonTableColumn>
       </columns>
     </tableViewTemplate>
   </children>
-- 
GitLab