From 287126d3f9eb6400a240075c1f681c4031d706c0 Mon Sep 17 00:00:00 2001 From: "S.Listl" <S.Listl@SLISTL.aditosoftware.local> Date: Thu, 18 Apr 2019 12:01:54 +0200 Subject: [PATCH] Activity, Task in Contract --- entity/Contract_entity/Contract_entity.aod | 38 +++++++++++++++++++ .../presetlinks_param/valueProcess.js | 13 +++++++ .../newactivity/onActionProcess.js | 11 +++++- .../newactivity/tooltipProcess.js | 4 ++ .../entityfields/newtask/onActionProcess.js | 13 +++++++ .../children/objectid_param/valueProcess.js | 4 ++ .../presetlinks_param/valueProcess.js | 13 +++++++ .../children/rowid_param/valueProcess.js | 3 ++ .../entityfields/tasks/stateProcess.js | 10 +++++ entity/Order_entity/Order_entity.aod | 1 + .../entityfields/tasks/stateProcess.js | 10 +++++ .../Organisation_entity.aod | 3 -- entity/Task_entity/Task_entity.aod | 6 +++ .../ContractMain_view/ContractMain_view.aod | 5 +++ .../ContractPreview_view.aod | 1 + 15 files changed, 131 insertions(+), 4 deletions(-) create mode 100644 entity/Contract_entity/entityfields/activities/children/presetlinks_param/valueProcess.js create mode 100644 entity/Contract_entity/entityfields/newactivity/tooltipProcess.js create mode 100644 entity/Contract_entity/entityfields/newtask/onActionProcess.js create mode 100644 entity/Contract_entity/entityfields/tasks/children/objectid_param/valueProcess.js create mode 100644 entity/Contract_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js create mode 100644 entity/Contract_entity/entityfields/tasks/children/rowid_param/valueProcess.js create mode 100644 entity/Contract_entity/entityfields/tasks/stateProcess.js create mode 100644 entity/Order_entity/entityfields/tasks/stateProcess.js diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod index f152d300ba..7a28fa4180 100644 --- a/entity/Contract_entity/Contract_entity.aod +++ b/entity/Contract_entity/Contract_entity.aod @@ -149,6 +149,10 @@ <name>ObjectId_param</name> <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess> </entityParameter> + <entityParameter> + <name>PresetLinks_param</name> + <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess> + </entityParameter> </children> </entityConsumer> <entityConsumer> @@ -284,6 +288,8 @@ <title>New activity</title> <onActionProcess>%aditoprj%/entity/Contract_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> <iconId>NEON:HISTORY</iconId> + <tooltip>New activity</tooltip> + <tooltipProcess>%aditoprj%/entity/Contract_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> </entityActionField> <entityConsumer> <name>Attributes</name> @@ -331,6 +337,38 @@ </entityParameter> </children> </entityConsumer> + <entityConsumer> + <name>Tasks</name> + <title>Tasks</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <stateProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>Task_entity</entityName> + <fieldName>LinkedObjects</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectId_param</name> + <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>RowId_param</name> + <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>PresetLinks_param</name> + <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newTask</name> + <fieldType>ACTION</fieldType> + <title>New task</title> + <onActionProcess>%aditoprj%/entity/Contract_entity/entityfields/newtask/onActionProcess.js</onActionProcess> + <iconId>VAADIN:TASKS</iconId> + </entityActionField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Contract_entity/entityfields/activities/children/presetlinks_param/valueProcess.js b/entity/Contract_entity/entityfields/activities/children/presetlinks_param/valueProcess.js new file mode 100644 index 0000000000..650bf07d2a --- /dev/null +++ b/entity/Contract_entity/entityfields/activities/children/presetlinks_param/valueProcess.js @@ -0,0 +1,13 @@ +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +var contactId = vars.get("$field.CONTACT_ID"); +var links = []; + +if (contactId) +{ + links.push([ContactUtils.getContextByContactId(contactId), contactId]); +} + +result.object(links); \ No newline at end of file diff --git a/entity/Contract_entity/entityfields/newactivity/onActionProcess.js b/entity/Contract_entity/entityfields/newactivity/onActionProcess.js index 41454e813d..41a76599f0 100644 --- a/entity/Contract_entity/entityfields/newactivity/onActionProcess.js +++ b/entity/Contract_entity/entityfields/newactivity/onActionProcess.js @@ -1,4 +1,13 @@ +import("Contact_lib"); import("system.vars"); import("ActivityTask_lib"); -ActivityUtils.createNewActivity(vars.getString("$field.CONTRACTID")); \ No newline at end of file +var contactId = vars.get("$field.CONTACT_ID"); +var links = []; + +if (contactId) +{ + links.push([ContactUtils.getContextByContactId(contactId), contactId]); +} + +ActivityUtils.createNewActivity(vars.getString("$field.CONTRACTID"), links); \ No newline at end of file diff --git a/entity/Contract_entity/entityfields/newactivity/tooltipProcess.js b/entity/Contract_entity/entityfields/newactivity/tooltipProcess.js new file mode 100644 index 0000000000..c71e677c22 --- /dev/null +++ b/entity/Contract_entity/entityfields/newactivity/tooltipProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("New activity")); \ No newline at end of file diff --git a/entity/Contract_entity/entityfields/newtask/onActionProcess.js b/entity/Contract_entity/entityfields/newtask/onActionProcess.js new file mode 100644 index 0000000000..7e165e15e5 --- /dev/null +++ b/entity/Contract_entity/entityfields/newtask/onActionProcess.js @@ -0,0 +1,13 @@ +import("system.vars"); +import("ActivityTask_lib"); +import("Contact_lib"); + +var contactId = vars.get("$field.CONTACT_ID"); +var links = []; + +if (contactId) +{ + links.push([ContactUtils.getContextByContactId(contactId), contactId]); +} + +TaskUtils.createNewTask(vars.get("$field.CONTRACTID"), links); \ No newline at end of file diff --git a/entity/Contract_entity/entityfields/tasks/children/objectid_param/valueProcess.js b/entity/Contract_entity/entityfields/tasks/children/objectid_param/valueProcess.js new file mode 100644 index 0000000000..008915f61d --- /dev/null +++ b/entity/Contract_entity/entityfields/tasks/children/objectid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getCurrentContextId()); \ No newline at end of file diff --git a/entity/Contract_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js b/entity/Contract_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js new file mode 100644 index 0000000000..650bf07d2a --- /dev/null +++ b/entity/Contract_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js @@ -0,0 +1,13 @@ +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +var contactId = vars.get("$field.CONTACT_ID"); +var links = []; + +if (contactId) +{ + links.push([ContactUtils.getContextByContactId(contactId), contactId]); +} + +result.object(links); \ No newline at end of file diff --git a/entity/Contract_entity/entityfields/tasks/children/rowid_param/valueProcess.js b/entity/Contract_entity/entityfields/tasks/children/rowid_param/valueProcess.js new file mode 100644 index 0000000000..645e7585b7 --- /dev/null +++ b/entity/Contract_entity/entityfields/tasks/children/rowid_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.vars"); +import("system.result"); +result.string(vars.get("$field.CONTRACTID")); \ No newline at end of file diff --git a/entity/Contract_entity/entityfields/tasks/stateProcess.js b/entity/Contract_entity/entityfields/tasks/stateProcess.js new file mode 100644 index 0000000000..f66e3b8956 --- /dev/null +++ b/entity/Contract_entity/entityfields/tasks/stateProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); +import("ActivityTask_lib"); +import("Context_lib"); + +if(TaskUtils.hasTasks(vars.get("$field.CONTRACTID"), ContextUtils.getCurrentContextId())) + result.string(neon.COMPONENTSTATE_EDITABLE); +else + result.string(neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod index df53ce2634..c7903aa272 100644 --- a/entity/Order_entity/Order_entity.aod +++ b/entity/Order_entity/Order_entity.aod @@ -425,6 +425,7 @@ <name>Tasks</name> <title>Tasks</title> <fieldType>DEPENDENCY_OUT</fieldType> + <stateProcess>%aditoprj%/entity/Order_entity/entityfields/tasks/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Task_entity</entityName> diff --git a/entity/Order_entity/entityfields/tasks/stateProcess.js b/entity/Order_entity/entityfields/tasks/stateProcess.js new file mode 100644 index 0000000000..712bf69e97 --- /dev/null +++ b/entity/Order_entity/entityfields/tasks/stateProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); +import("ActivityTask_lib"); +import("Context_lib"); + +if(TaskUtils.hasTasks(vars.get("$field.SALESORDERID"), ContextUtils.getCurrentContextId())) + result.string(neon.COMPONENTSTATE_EDITABLE); +else + result.string(neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod index 407d8b4db1..54346ad6ee 100644 --- a/entity/Organisation_entity/Organisation_entity.aod +++ b/entity/Organisation_entity/Organisation_entity.aod @@ -96,9 +96,6 @@ <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/contact/children/orgid_param/valueProcess.js</valueProcess> <triggerRecalculation v="true" /> </entityParameter> - <entityParameter> - <name>ContactId_param</name> - </entityParameter> </children> </entityConsumer> <entityFieldGroup> diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod index 6b5d3f17e9..c2a53c27f1 100644 --- a/entity/Task_entity/Task_entity.aod +++ b/entity/Task_entity/Task_entity.aod @@ -354,6 +354,12 @@ <fieldName>Tasks</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>2b0c15eb-fa9a-4ee8-a8b1-5d0f344ddad6</name> + <entityName>Contract_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/neonView/ContractMain_view/ContractMain_view.aod b/neonView/ContractMain_view/ContractMain_view.aod index 83ff714a33..dd52050bf2 100644 --- a/neonView/ContractMain_view/ContractMain_view.aod +++ b/neonView/ContractMain_view/ContractMain_view.aod @@ -19,6 +19,11 @@ <entityField>Activities</entityField> <view>ActivityFilter_view</view> </neonViewReference> + <neonViewReference> + <name>24fb8357-a6f7-425c-a579-a9251913c8d7</name> + <entityField>Tasks</entityField> + <view>TaskFilter_view</view> + </neonViewReference> <neonViewReference> <name>1bf6faf5-9a22-4900-a497-54b6c225584b</name> <entityField>Documents</entityField> diff --git a/neonView/ContractPreview_view/ContractPreview_view.aod b/neonView/ContractPreview_view/ContractPreview_view.aod index fe91f152b3..328e2dd523 100644 --- a/neonView/ContractPreview_view/ContractPreview_view.aod +++ b/neonView/ContractPreview_view/ContractPreview_view.aod @@ -14,6 +14,7 @@ <iconField>IMAGE</iconField> <titleField>CONTRACTCODE_DISPLAY_fieldGroup</titleField> <descriptionField>CONTACT_ID</descriptionField> + <favoriteAction1>newActivity</favoriteAction1> <entityField>#ENTITY</entityField> </cardViewTemplate> <genericViewTemplate> -- GitLab