diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.desc.xml index b4f8db4fb1..8596d5430a 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.desc.xml +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.desc.xml @@ -4,7 +4,7 @@ Lists all Workflow Task Instances associated with an authority and of a given State. The list of returned tasks also includes pooled tasks which the specified authority is eligible to claim. - /api/task-instances?authority={authority?}&state={state?}&properties={properties?} + /api/task-instances?authority={authority?}&state={state?}&properties={properties?}&detailed={detailed?} user required diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.json.ftl index b35601da30..c629005553 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.json.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.json.ftl @@ -1,11 +1,11 @@ <#-- List Workflow Task Instances --> - +<#assign detailed=((args.detailed!"false")=="true")> <#import "task.lib.ftl" as taskLib /> { "data": [ <#list taskInstances as task> - <@taskLib.taskJSON task=task /> + <@taskLib.taskJSON task=task detailed=detailed/> <#if task_has_next>, ] diff --git a/source/java/org/alfresco/repo/web/scripts/workflow/TaskInstancesGet.java b/source/java/org/alfresco/repo/web/scripts/workflow/TaskInstancesGet.java index 8eef0f8f6e..a7ff117727 100644 --- a/source/java/org/alfresco/repo/web/scripts/workflow/TaskInstancesGet.java +++ b/source/java/org/alfresco/repo/web/scripts/workflow/TaskInstancesGet.java @@ -43,6 +43,7 @@ public class TaskInstancesGet extends AbstractWorkflowWebscript public static final String PARAM_AUTHORITY = "authority"; public static final String PARAM_STATUS= "status"; public static final String PARAM_PROPERTIES= "properties"; + public static final String PARAM_DETAILED= "detailed"; @Override protected Map buildModel(WorkflowModelBuilder modelBuilder, WebScriptRequest req, Status status, @@ -51,6 +52,7 @@ public class TaskInstancesGet extends AbstractWorkflowWebscript String authority = getAuthority(req); WorkflowTaskState state = getState(req); List properties = getProperties(req); + boolean detailed = "true".equals(req.getParameter(PARAM_DETAILED)); //TODO Handle possible thrown exceptions here? List tasks = workflowService.getAssignedTasks(authority, state); @@ -62,10 +64,15 @@ public class TaskInstancesGet extends AbstractWorkflowWebscript ArrayList> results = new ArrayList>(); for (WorkflowTask task : allTasks) { - results.add(modelBuilder.buildSimple(task, properties)); + if (detailed) + { + results.add(modelBuilder.buildDetailed(task)); + } + else { + results.add(modelBuilder.buildSimple(task, properties)); + } } - Map model = new HashMap(); model.put("taskInstances", results); return model;