From 8bdf59b742157ed52367da5aadb63eeb76f144d8 Mon Sep 17 00:00:00 2001
From: Sophia Leierseder <s.leierseder@adito.de>
Date: Fri, 22 Nov 2019 13:45:34 +0100
Subject: [PATCH] new activity in appointment

---
 .../Appointment_entity/Appointment_entity.aod |  9 ++++++++
 .../newactivity/onActionProcess.js            | 23 +++++++++++++++++++
 .../entityfields/newactivity/stateProcess.js  |  0
 3 files changed, 32 insertions(+)
 create mode 100644 entity/Appointment_entity/entityfields/newactivity/onActionProcess.js
 create mode 100644 entity/Appointment_entity/entityfields/newactivity/stateProcess.js

diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod
index a47748cb98..f63a8013b1 100644
--- a/entity/Appointment_entity/Appointment_entity.aod
+++ b/entity/Appointment_entity/Appointment_entity.aod
@@ -233,6 +233,15 @@
     <entityField>
       <name>CHECKUP</name>
     </entityField>
+    <entityActionField>
+      <name>newActivity</name>
+      <title>New activity</title>
+      <onActionProcess>%aditoprj%/entity/Appointment_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:HOURGLASS</iconId>
+      <stateProcess>%aditoprj%/entity/Appointment_entity/entityfields/newactivity/stateProcess.js</stateProcess>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Appointment_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
+    </entityActionField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/Appointment_entity/entityfields/newactivity/onActionProcess.js b/entity/Appointment_entity/entityfields/newactivity/onActionProcess.js
new file mode 100644
index 0000000000..dee096dc42
--- /dev/null
+++ b/entity/Appointment_entity/entityfields/newactivity/onActionProcess.js
@@ -0,0 +1,23 @@
+import("system.db");
+import("KeywordRegistry_basic");
+import("Contact_lib");
+import("system.vars");
+import("ActivityTask_lib");
+import("Context_lib");
+import("Sql_lib");
+
+var uid = vars.get("$field.UID");
+
+var objectdata = newSelect("OBJECT_TYPE, OBJECT_ROWID")
+    .from("AB_APPOINTMENTLINK")
+    .where("AB_APPOINTMENTLINK.APPOINTMENT_ID", "$field.UID")
+    .arrayRow();
+
+var links = [];
+
+if (objectdata.length > 0)
+{
+    links.push(objectdata);
+}
+
+ActivityUtils.createNewActivity(undefined, links, ContextUtils.getCurrentContextId(), vars.get("$field.UID"), vars.get("$field.SUMMARY"), vars.get("$field.DESCRIPTION"), $KeywordRegistry.activityDirection$outgoing());
diff --git a/entity/Appointment_entity/entityfields/newactivity/stateProcess.js b/entity/Appointment_entity/entityfields/newactivity/stateProcess.js
new file mode 100644
index 0000000000..e69de29bb2
-- 
GitLab