diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod index f152d300ba86ed531c2c72ccb9aa56842f90339e..7a28fa41806e6c871804cfdcfd6520ad14441052 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 0000000000000000000000000000000000000000..650bf07d2a39d1c673866de4ef9753f13f3ebed3 --- /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 41454e813d0f046d85bbb4b17767ee81990519df..41a76599f06b678e7f2a3f89f59d0c5e0c0c3004 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 0000000000000000000000000000000000000000..c71e677c22663c2295e524aa7f3ed3dd571724d7 --- /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 0000000000000000000000000000000000000000..7e165e15e52378d09e5723adcb0bedd748d84676 --- /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 0000000000000000000000000000000000000000..008915f61deac19ccdd40fff81701de63eb3b6a2 --- /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 0000000000000000000000000000000000000000..650bf07d2a39d1c673866de4ef9753f13f3ebed3 --- /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 0000000000000000000000000000000000000000..645e7585b75cdbb9e83fb8a6e4c572c100ae70da --- /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 0000000000000000000000000000000000000000..f66e3b89565ade4ff0e1b2b982a17f2fd328f02f --- /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 df53ce2634c44af5cc9ac01735311f1f258e8b35..c7903aa272ac17c448f7b8f5db05151e15f23f29 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 0000000000000000000000000000000000000000..712bf69e9725d83a9d77d7569b0b83917e404d8e --- /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 407d8b4db1d219a6f8a251555a60a03db0c8fec8..54346ad6eed74fe502ffdcca6e664985c8c51072 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 6b5d3f17e9deff309d1a461e653e609bebf73499..c2a53c27f121cce774b392c32562c0bf65569073 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 83ff714a33918c32ee14942f3b1146e3fa2a9814..dd52050bf2edb9d1e3ed7d972a4006db611390c2 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 fe91f152b3ca9d78a49bcbbe33e17ea112f4d8a7..328e2dd523937fb023dda5ce211cc3678946b96b 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>