diff --git a/rm-server/config/alfresco/templates/webscripts/org/alfresco/rma/dispositionlifecycle.get.json.ftl b/rm-server/config/alfresco/templates/webscripts/org/alfresco/rma/dispositionlifecycle.get.json.ftl index 4836277100..639a39b806 100644 --- a/rm-server/config/alfresco/templates/webscripts/org/alfresco/rma/dispositionlifecycle.get.json.ftl +++ b/rm-server/config/alfresco/templates/webscripts/org/alfresco/rma/dispositionlifecycle.get.json.ftl @@ -1,35 +1,40 @@ <#escape x as jsonUtils.encodeJSONString(x)> { - "data": - { - "url": "${nextaction.url}", - "name": "${nextaction.name}", - "label": "${nextaction.label}", - "eventsEligible": ${nextaction.eventsEligible?string}, - <#if nextaction.asOf??>"asOf": "${nextaction.asOf}", - <#if nextaction.startedAt??>"startedAt": "${nextaction.startedAt}", - <#if nextaction.startedBy??>"startedBy": "${nextaction.startedBy}", - <#if nextaction.startedByFirstName??>"startedByFirstName": "${nextaction.startedByFirstName}", - <#if nextaction.startedByLastName??>"startedByLastName": "${nextaction.startedByLastName}", - <#if nextaction.completedAt??>"completedAt": "${nextaction.completedAt}", - <#if nextaction.completedBy??>"completedBy": "${nextaction.completedBy}", - <#if nextaction.completedByFirstName??>"completedByFirstName": "${nextaction.completedByFirstName}", - <#if nextaction.completedByLastName??>"completedByLastName": "${nextaction.completedByLastName}", - "events": - [ - <#list nextaction.events as event> - { - "name": "${event.name}", - "label": "${event.label}", - "complete": ${event.complete?string}, - <#if event.completedAt??>"completedAt": "${event.completedAt}", - <#if event.completedBy??>"completedBy": "${event.completedBy}", - <#if event.completedByFirstName??>"completedByFirstName": "${event.completedByFirstName}", - <#if event.completedByLastName??>"completedByLastName": "${event.completedByLastName}", - "automatic": ${event.automatic?string} - }<#if event_has_next>, - - ] - } + "data": + { + <#if nextaction.notFound?? && nextaction.notFound> + "notFound": ${nextaction.notFound?string}, + "message": "${nextaction.message}" + <#else> + "url": "${nextaction.url}", + "name": "${nextaction.name}", + "label": "${nextaction.label}", + "eventsEligible": ${nextaction.eventsEligible?string}, + <#if nextaction.asOf??>"asOf": "${nextaction.asOf}", + <#if nextaction.startedAt??>"startedAt": "${nextaction.startedAt}", + <#if nextaction.startedBy??>"startedBy": "${nextaction.startedBy}", + <#if nextaction.startedByFirstName??>"startedByFirstName": "${nextaction.startedByFirstName}", + <#if nextaction.startedByLastName??>"startedByLastName": "${nextaction.startedByLastName}", + <#if nextaction.completedAt??>"completedAt": "${nextaction.completedAt}", + <#if nextaction.completedBy??>"completedBy": "${nextaction.completedBy}", + <#if nextaction.completedByFirstName??>"completedByFirstName": "${nextaction.completedByFirstName}", + <#if nextaction.completedByLastName??>"completedByLastName": "${nextaction.completedByLastName}", + "events": + [ + <#list nextaction.events as event> + { + "name": "${event.name}", + "label": "${event.label}", + "complete": ${event.complete?string}, + <#if event.completedAt??>"completedAt": "${event.completedAt}", + <#if event.completedBy??>"completedBy": "${event.completedBy}", + <#if event.completedByFirstName??>"completedByFirstName": "${event.completedByFirstName}", + <#if event.completedByLastName??>"completedByLastName": "${event.completedByLastName}", + "automatic": ${event.automatic?string} + }<#if event_has_next>, + + ] + + } } \ No newline at end of file diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/DispositionLifecycleGet.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/DispositionLifecycleGet.java index f6dfe3b76e..e7d48938ca 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/DispositionLifecycleGet.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/DispositionLifecycleGet.java @@ -23,8 +23,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.servlet.http.HttpServletResponse; - import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionAction; import org.alfresco.module.org_alfresco_module_rm.event.EventCompletionDetails; @@ -68,9 +66,12 @@ public class DispositionLifecycleGet extends DispositionAbstractBase DispositionAction nextAction = this.dispositionService.getNextDispositionAction(nodeRef); if (nextAction == null) { - status.setCode(HttpServletResponse.SC_NOT_FOUND, - "Node " + nodeRef.toString() + " does not have a disposition lifecycle"); - return null; + Map nextActionModel = new HashMap(2); + nextActionModel.put("notFound", true); + nextActionModel.put("message", "Node " + nodeRef.toString() + " does not have a disposition lifecycle"); + Map model = new HashMap(1); + model.put("nextaction", nextActionModel); + return model; } else {