diff --git a/src/main/java/de/metas/ui/web/process/ProcessInstanceResult.java b/src/main/java/de/metas/ui/web/process/ProcessInstanceResult.java index ce7252843..6f4795666 100644 --- a/src/main/java/de/metas/ui/web/process/ProcessInstanceResult.java +++ b/src/main/java/de/metas/ui/web/process/ProcessInstanceResult.java @@ -11,6 +11,7 @@ import de.metas.ui.web.view.CreateViewRequest; import de.metas.ui.web.view.ViewId; +import de.metas.ui.web.view.ViewProfileId; import de.metas.ui.web.window.datatypes.DocumentId; import de.metas.ui.web.window.datatypes.DocumentIdsSelection; import de.metas.ui.web.window.datatypes.DocumentPath; @@ -164,7 +165,9 @@ public static final class OpenViewAction implements ResultAction @lombok.Builder public static class OpenIncludedViewAction implements ResultAction { + @NonNull private final ViewId viewId; + private final ViewProfileId profileId; } @lombok.Value diff --git a/src/main/java/de/metas/ui/web/process/adprocess/ADProcessInstanceController.java b/src/main/java/de/metas/ui/web/process/adprocess/ADProcessInstanceController.java index f553d8abe..cac1fd2a0 100644 --- a/src/main/java/de/metas/ui/web/process/adprocess/ADProcessInstanceController.java +++ b/src/main/java/de/metas/ui/web/process/adprocess/ADProcessInstanceController.java @@ -51,6 +51,7 @@ import de.metas.ui.web.view.IView; import de.metas.ui.web.view.IViewsRepository; import de.metas.ui.web.view.ViewId; +import de.metas.ui.web.view.ViewProfileId; import de.metas.ui.web.view.json.JSONViewDataType; import de.metas.ui.web.window.datatypes.DocumentId; import de.metas.ui.web.window.datatypes.DocumentIdsSelection; @@ -362,6 +363,7 @@ else if (processExecutionResult.getWebuiIncludedViewIdToOpen() != null) { resultBuilder.setAction(OpenIncludedViewAction.builder() .viewId(ViewId.ofViewIdString(processExecutionResult.getWebuiIncludedViewIdToOpen())) + .profileId(ViewProfileId.fromJson(processExecutionResult.getWebuiViewProfileId())) .build()); } // diff --git a/src/main/java/de/metas/ui/web/process/json/JSONProcessInstanceResult.java b/src/main/java/de/metas/ui/web/process/json/JSONProcessInstanceResult.java index 5c27b29e8..2545bde3c 100644 --- a/src/main/java/de/metas/ui/web/process/json/JSONProcessInstanceResult.java +++ b/src/main/java/de/metas/ui/web/process/json/JSONProcessInstanceResult.java @@ -20,6 +20,7 @@ import de.metas.ui.web.process.ProcessInstanceResult.ResultAction; import de.metas.ui.web.process.ProcessInstanceResult.SelectViewRowsAction; import de.metas.ui.web.view.ViewId; +import de.metas.ui.web.view.ViewProfileId; import de.metas.ui.web.view.json.JSONViewDataType; import de.metas.ui.web.window.datatypes.DocumentIdsSelection; import de.metas.ui.web.window.datatypes.DocumentPath; @@ -102,7 +103,7 @@ else if (resultAction instanceof OpenViewAction) else if (resultAction instanceof OpenIncludedViewAction) { final OpenIncludedViewAction openIncludedViewAction = (OpenIncludedViewAction)resultAction; - return new JSONOpenIncludedViewAction(openIncludedViewAction.getViewId()); + return new JSONOpenIncludedViewAction(openIncludedViewAction.getViewId(), openIncludedViewAction.getProfileId()); } else if (resultAction instanceof OpenSingleDocument) { @@ -178,12 +179,15 @@ public static class JSONOpenIncludedViewAction extends JSONResultAction private final WindowId windowId; private final String viewId; private final JSONViewDataType viewType = JSONViewDataType.includedView; + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private final String profileId; - public JSONOpenIncludedViewAction(final ViewId viewId) + public JSONOpenIncludedViewAction(final ViewId viewId, final ViewProfileId profileId) { super("openIncludedView"); this.windowId = viewId.getWindowId(); this.viewId = viewId.getViewId(); + this.profileId = profileId != null ? profileId.toJson() : null; } }