Index: lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java =================================================================== diff -u -rc43be2dd73b7fbe40f9130faa41fe0017295957d -r6a37339f13d5e931a8aec3fc8d4e257be56a8224 --- lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java (.../PedagogicalPlannerAction.java) (revision c43be2dd73b7fbe40f9130faa41fe0017295957d) +++ lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java (.../PedagogicalPlannerAction.java) (revision 6a37339f13d5e931a8aec3fc8d4e257be56a8224) @@ -242,6 +242,7 @@ public static final String PARAM_REQUEST_SRC = "requestSrc"; public static final String PARAM_NOTIFY_CLOSE_URL = "notifyCloseURL"; public static final String PARAM_FORBID_BUTTONS = "forbidButtons"; + public static final String PARAM_RETURN_TO_PARENT = "returnToParent"; // Template copy mode values public static final String COPY_MODE_EDIT_CURRENT = "editCurrent"; @@ -433,10 +434,14 @@ boolean isEditor = canEditNode(request, nodeUid); Integer nodePermissions = node.getPermissions(); planner.setPermissions(nodePermissions, isEditor); - - // set it here rather than in JSP page - if (StringUtils.isBlank(node.getFullDescription())) { - planner.setNodeUid(node.getParent().getUid()); + + boolean returnToParent = WebUtil.readBooleanParam(request, PARAM_RETURN_TO_PARENT, false); + // after editing the node, should user return to parent or to current node + if (returnToParent) { + // if parent is null, do not set anything and user will return to root node + if (node.getParent() != null) { + planner.setNodeUid(node.getParent().getUid()); + } } else { planner.setNodeUid(node.getUid()); }