Index: lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java =================================================================== diff -u -re6d81fcf6b1b324494762b681d8287bf00a07b7e -r563045bff5bdf4ea8cd93ee8047ae396ed41f67f --- lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java (.../PedagogicalPlannerAction.java) (revision e6d81fcf6b1b324494762b681d8287bf00a07b7e) +++ lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerAction.java (.../PedagogicalPlannerAction.java) (revision 563045bff5bdf4ea8cd93ee8047ae396ed41f67f) @@ -673,7 +673,7 @@ filteredNodes.add(subnode); } - dto = new PedagogicalPlannerSequenceNodeDTO(node, filteredNodes, hasRole, getPedagogicalPlannerDAO()); + dto = new PedagogicalPlannerSequenceNodeDTO(node, filteredNodes, request.isUserInRole(Role.SYSADMIN), getPedagogicalPlannerDAO()); for (PedagogicalPlannerSequenceNodeDTO subnodeDTO : dto.getSubnodes()) { List titlePath = getPedagogicalPlannerDAO().getTitlePath(subnodeDTO.getUid()); subnodeDTO.setTitlePath(titlePath); @@ -690,7 +690,7 @@ if (dto == null) { // No filtering or something went wrong in filtering - dto = new PedagogicalPlannerSequenceNodeDTO(node, node.getSubnodes(), hasRole, getPedagogicalPlannerDAO()); + dto = new PedagogicalPlannerSequenceNodeDTO(node, node.getSubnodes(), request.isUserInRole(Role.SYSADMIN), getPedagogicalPlannerDAO()); if (nodeUid == null) { dto.setRecentlyModifiedNodes(getRecentlyModifiedLearnindDesignsAsNodes()); } Index: lams_common/src/java/org/lamsfoundation/lams/planner/dto/PedagogicalPlannerSequenceNodeDTO.java =================================================================== diff -u -re6d81fcf6b1b324494762b681d8287bf00a07b7e -r563045bff5bdf4ea8cd93ee8047ae396ed41f67f --- lams_common/src/java/org/lamsfoundation/lams/planner/dto/PedagogicalPlannerSequenceNodeDTO.java (.../PedagogicalPlannerSequenceNodeDTO.java) (revision e6d81fcf6b1b324494762b681d8287bf00a07b7e) +++ lams_common/src/java/org/lamsfoundation/lams/planner/dto/PedagogicalPlannerSequenceNodeDTO.java (.../PedagogicalPlannerSequenceNodeDTO.java) (revision 563045bff5bdf4ea8cd93ee8047ae396ed41f67f) @@ -57,7 +57,6 @@ private Boolean importNode = false; // for the list on the main screen private List recentlyModifiedNodes; - // for the 1st level nodes on the main screen private Boolean displayAddRemoveEditorsLink = true; private static final String FULL_DESCRIPTION_NOT_EMPTY = "FULL"; @@ -66,7 +65,7 @@ } public PedagogicalPlannerSequenceNodeDTO(PedagogicalPlannerSequenceNode node, - Set subnodes, Boolean displayAddRemoveEditorsLink, PedagogicalPlannerDAO dao) { + Set subnodes, Boolean isSysadmin, PedagogicalPlannerDAO dao) { uid = node.getUid(); title = node.getTitle(); briefDescription = node.getBriefDescription(); @@ -75,8 +74,6 @@ locked = node.getLocked(); if (node.getParent() != null) { parentUid = node.getParent().getUid(); - } else { - this.displayAddRemoveEditorsLink = displayAddRemoveEditorsLink; } this.subnodes = new LinkedList(); if (subnodes != null) { @@ -93,7 +90,7 @@ subnodeDTO.setFileName(subnode.getFileName()); subnodeDTO.setUid(subnode.getUid()); if (u != null) { - subnodeDTO.setDisplayAddRemoveEditorsLink(dao.isEditor(u.getUserID(), subnode.getUid(), Role.ROLE_AUTHOR_ADMIN)); + subnodeDTO.setDisplayAddRemoveEditorsLink(isSysadmin || dao.isEditor(u.getUserID(), subnode.getUid(), Role.ROLE_AUTHOR_ADMIN)); } this.subnodes.add(subnodeDTO); }