From c8c4df25bae2e78b7e214de43802506a9f02832c Mon Sep 17 00:00:00 2001 From: "S.Listl" <S.Listl@SLISTL.aditosoftware.local> Date: Mon, 16 Dec 2019 16:36:44 +0100 Subject: [PATCH] WorkflowTask open next task after completion --- .../target_id/displayValueProcess.js | 14 ++++----- .../recordcontainers/jdito/onUpdate.js | 31 ++++++++++++++++++- .../OfferPreview_view/OfferPreview_view.aod | 4 +-- .../WorkflowTaskPreview_view.aod | 1 + 4 files changed, 40 insertions(+), 10 deletions(-) diff --git a/entity/WorkflowTask_entity/entityfields/target_id/displayValueProcess.js b/entity/WorkflowTask_entity/entityfields/target_id/displayValueProcess.js index 686f1278c3..94eee8c9a2 100644 --- a/entity/WorkflowTask_entity/entityfields/target_id/displayValueProcess.js +++ b/entity/WorkflowTask_entity/entityfields/target_id/displayValueProcess.js @@ -1,8 +1,8 @@ -import("system.result"); -import("Context_lib"); -import("system.vars"); -import("system.project"); +//import("system.result"); +//import("Context_lib"); +//import("system.vars"); +//import("system.project"); -var context = project.getContextStructure(vars.get("$field.TARGET_CONTEXT")); - -result.string(ContextUtils.loadContentTitle(context.entity, vars.get("$field.TARGET_ID"))); +//var context = project.getContextStructure(vars.get("$field.TARGET_CONTEXT")); +// +//result.string(ContextUtils.loadContentTitle(context.entity, vars.get("$field.TARGET_ID"))); diff --git a/entity/WorkflowTask_entity/recordcontainers/jdito/onUpdate.js b/entity/WorkflowTask_entity/recordcontainers/jdito/onUpdate.js index 683bbc2172..2e2168e278 100644 --- a/entity/WorkflowTask_entity/recordcontainers/jdito/onUpdate.js +++ b/entity/WorkflowTask_entity/recordcontainers/jdito/onUpdate.js @@ -1,3 +1,4 @@ +import("system.neon"); import("system.workflow"); import("system.vars"); @@ -14,5 +15,33 @@ vars.get("$local.changed").forEach(function (field) break; case "FORMRESULT.value": workflow.completeTaskWithFormData(taskId, JSON.parse(value)); + _openNextTaskIfExists(rowData["PROCESSINSTANCE_ID.value"], rowData["CREATE_TIME.value"]); } -}); \ No newline at end of file +}); + +/* + * checks if a new task has been created for that process instance, + * if that's the case the new task will be opened + */ +function _openNextTaskIfExists (pProcessInstanceId, pCreateTime) +{ + var loadConfig = workflow.createConfigForLoadingTasks() + .processInstanceId(pProcessInstanceId); + + var startVal = { + id : null, + createTime : new Date(+pCreateTime).toString() + }; + var newestTask = JSON.parse(workflow.getTasks(loadConfig)).reduce(function (prev, curr) + { + var prevTime = Date.parse(prev.createTime); + var currTime = Date.parse(curr.createTime); + + return prevTime > currTime ? prev : curr; + }, startVal); + + if (newestTask.id !== null) + { + neon.openContext("WorkflowTask", "WorkflowTaskPreview_view", [newestTask.id], neon.OPERATINGSTATE_VIEW, null); + } +} \ No newline at end of file diff --git a/neonView/OfferPreview_view/OfferPreview_view.aod b/neonView/OfferPreview_view/OfferPreview_view.aod index 59bb4d5c7d..98ba7a7fb5 100644 --- a/neonView/OfferPreview_view/OfferPreview_view.aod +++ b/neonView/OfferPreview_view/OfferPreview_view.aod @@ -77,8 +77,8 @@ <entityField>PROBABILITY</entityField> </entityFieldLink> <entityFieldLink> - <name>3317b73e-68e8-41a8-a678-89c7c7c8513e</name> - <entityField>SALESPROJECT_ID</entityField> + <name>c603a596-a305-4408-8918-90e6e2a49ca1</name> + <entityField>OBJECT_ROWID</entityField> </entityFieldLink> <entityFieldLink> <name>59daee43-0e79-49d8-a36a-5ce4c491def9</name> diff --git a/neonView/WorkflowTaskPreview_view/WorkflowTaskPreview_view.aod b/neonView/WorkflowTaskPreview_view/WorkflowTaskPreview_view.aod index cb542e7627..7e63a32901 100644 --- a/neonView/WorkflowTaskPreview_view/WorkflowTaskPreview_view.aod +++ b/neonView/WorkflowTaskPreview_view/WorkflowTaskPreview_view.aod @@ -2,6 +2,7 @@ <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.3" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.3"> <name>WorkflowTaskPreview_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> + <isSmall v="true" /> <layout> <headerFooterLayout> <name>layout</name> -- GitLab