Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GroupingController.java =================================================================== diff -u -r64df420a185734c95854c5ea0573c3c3133fb72b -r19b9f765af37c354d989517332e5636c5af3e9d1 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GroupingController.java (.../GroupingController.java) (revision 64df420a185734c95854c5ea0573c3c3133fb72b) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/GroupingController.java (.../GroupingController.java) (revision 19b9f765af37c354d989517332e5636c5af3e9d1) @@ -85,7 +85,6 @@ // --------------------------------------------------------------------- public static final String GROUPS = "groups"; public static final String FINISHED_BUTTON = "finishedButton"; - public static final String LOCAL_FILES = "localFiles"; public static final String TITLE = "title"; public static final String MAX_LEARNERS_PER_GROUP = "maxLearnersPerGroup"; public static final String VIEW_STUDENTS_BEFORE_SELECTION = "viewStudentsBeforeSelection"; @@ -120,34 +119,11 @@ groupingForm.setActivityID(activity.getActivityId()); request.setAttribute(AttributeNames.PARAM_LESSON_ID, lessonId); - SortedSet groups = new TreeSet<>(GroupDTO.GROUP_NAME_COMPARATOR); - Grouping grouping = ((GroupingActivity) activity).getCreateGrouping(); - if (grouping != null) { - for (Group group : grouping.getGroups()) { - GroupDTO groupDTO = new GroupDTO(group, true); - groupDTO.getUserList().sort(UserBasicDTO.USER_BASIC_DTO_COMPARATOR); - - //set isUserBelongsToGroup - for (UserBasicDTO userDto : groupDTO.getUserList()) { - if (userDto.getUserID().equals(currentUserId)) { - groupDTO.setUserBelongsToGroup(true); - break; - } - } - - groups.add(groupDTO); - } - } - request.setAttribute(GroupingController.GROUPS, groups); - request.setAttribute(GroupingController.TITLE, activity.getTitle()); - request.setAttribute(AttributeNames.PARAM_ACTIVITY_ID, activity.getActivityId()); - request.setAttribute(ConfigurationKeys.RESTRICTED_DISPLAYING_OF_USER_NAMES_IN_GROUPS, - Configuration.getAsBoolean(ConfigurationKeys.RESTRICTED_DISPLAYING_OF_USER_NAMES_IN_GROUPS)); + prepareDataForShowPage(currentUserId, request); //Load up the grouping information and forward to the jsp page to display all the groups and members. if (groupingDone) { request.setAttribute(GroupingController.FINISHED_BUTTON, Boolean.TRUE); - request.setAttribute(GroupingController.LOCAL_FILES, Boolean.FALSE); ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, true); request.setAttribute(GroupingController.FINISHED_BUTTON, new Boolean((mode == null) || !mode.isTeacher())); @@ -168,7 +144,6 @@ LearnerChoiceGrouping groupingDb = (LearnerChoiceGrouping) learnerService.getGrouping(groupingId); request.setAttribute(GroupingController.MAX_LEARNERS_PER_GROUP, maxNumberOfLeaernersPerGroup); - request.setAttribute(GroupingController.LOCAL_FILES, Boolean.FALSE); request.setAttribute(GroupingController.VIEW_STUDENTS_BEFORE_SELECTION, groupingDb.getViewStudentsBeforeSelection()); return "grouping/choose"; @@ -177,7 +152,50 @@ return "grouping/wait"; } } + + /** + * Load up the grouping information and forward to the jsp page to display all the groups and members. This method is used only to show show.jsp page to the teacher. + */ + @RequestMapping("/viewGrouping") + public String viewGrouping(HttpServletRequest request) throws IOException, ServletException { + int userId = WebUtil.readIntParam(request, AttributeNames.PARAM_USER_ID); + prepareDataForShowPage(userId, request); + + request.setAttribute(GroupingController.FINISHED_BUTTON, false); + return "grouping/show"; + } + + /** + * Common method for performGrouping(GroupingForm, HttpServletRequest) and viewGrouping(HttpServletRequest) + */ + private void prepareDataForShowPage(Integer userId, HttpServletRequest request) { + Activity activity = LearningWebUtil.getActivityFromRequest(request, learnerService); + SortedSet groups = new TreeSet<>(GroupDTO.GROUP_NAME_COMPARATOR); + Grouping grouping = ((GroupingActivity) activity).getCreateGrouping(); + if (grouping != null) { + for (Group group : grouping.getGroups()) { + GroupDTO groupDTO = new GroupDTO(group, true); + groupDTO.getUserList().sort(UserBasicDTO.USER_BASIC_DTO_COMPARATOR); + + //set isUserBelongsToGroup + for (UserBasicDTO userDto : groupDTO.getUserList()) { + if (userDto.getUserID().equals(userId)) { + groupDTO.setUserBelongsToGroup(true); + break; + } + } + + groups.add(groupDTO); + } + } + request.setAttribute(GroupingController.GROUPS, groups); + request.setAttribute(GroupingController.TITLE, activity.getTitle()); + request.setAttribute(AttributeNames.PARAM_ACTIVITY_ID, activity.getActivityId()); + request.setAttribute(ConfigurationKeys.RESTRICTED_DISPLAYING_OF_USER_NAMES_IN_GROUPS, + Configuration.getAsBoolean(ConfigurationKeys.RESTRICTED_DISPLAYING_OF_USER_NAMES_IN_GROUPS)); + } + /** * Complete the current tool activity and forward to the url of next activity in the learning design. */