Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java,v diff -u -r1.16 -r1.17 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java 17 Sep 2013 04:52:28 -0000 1.16 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java 20 Sep 2013 15:11:42 -0000 1.17 @@ -243,7 +243,12 @@ ScratchieItem getScratchieItemByUid(Long itemUid); - List getMonitoringSummary(Long contentId); + /** + * @param contentId + * @param isIncludeOnlyLeaders if true - return Summaries only for leader, all users in a group otherwise + * @return + */ + List getMonitoringSummary(Long contentId, boolean isIncludeOnlyLeaders); List getQuestionSummary(Long contentId, Long itemUid); Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java,v diff -u -r1.24 -r1.25 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java 17 Sep 2013 17:52:52 -0000 1.24 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java 20 Sep 2013 15:11:42 -0000 1.25 @@ -629,7 +629,7 @@ } @Override - public List getMonitoringSummary(Long contentId) { + public List getMonitoringSummary(Long contentId, boolean isIncludeOnlyLeaders) { List groupSummaryList = new ArrayList(); List sessionList = scratchieSessionDao.getByContentId(contentId); @@ -638,14 +638,21 @@ // one new summary for one session. GroupSummary groupSummary = new GroupSummary(sessionId, session.getSessionName()); - List users = scratchieUserDao.getBySessionID(sessionId); - for (ScratchieUser user : users) { + List sessionUsers = scratchieUserDao.getBySessionID(sessionId); + List usersToShow = new LinkedList(); + for (ScratchieUser user : sessionUsers) { + + boolean isUserGroupLeader = isUserGroupLeader(user, session); + //include only leaders in case isUserGroupLeader is ON, include all otherwise + if (isIncludeOnlyLeaders && isUserGroupLeader || !isIncludeOnlyLeaders) { + int totalAttempts = scratchieAnswerVisitDao.getLogCountTotal(sessionId, user.getUserId()); + user.setTotalAttempts(totalAttempts); - int totalAttempts = scratchieAnswerVisitDao.getLogCountTotal(sessionId, user.getUserId()); - user.setTotalAttempts(totalAttempts); + usersToShow.add(user); + } } - groupSummary.setUsers(users); + groupSummary.setUsers(usersToShow); groupSummaryList.add(groupSummary); } @@ -1200,7 +1207,7 @@ row[3] = new ExcelCell(getMessage("label.group"), false); rowList.add(row); - List summaryList = getMonitoringSummary(contentId); + List summaryList = getMonitoringSummary(contentId, false); for (GroupSummary summary : summaryList) { for (ScratchieUser user : summary.getUsers()) { row = new ExcelCell[4]; Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java,v diff -u -r1.13 -r1.14 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java 17 Sep 2013 04:52:28 -0000 1.13 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java 20 Sep 2013 15:11:42 -0000 1.14 @@ -96,7 +96,7 @@ request.setAttribute(ScratchieConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); Long contentId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); - List summaryList = service.getMonitoringSummary(contentId); + List summaryList = service.getMonitoringSummary(contentId, true); Scratchie scratchie = service.getScratchieByContentId(contentId); scratchie.toDTO(); Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/servlet/ExportServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/servlet/ExportServlet.java,v diff -u -r1.4 -r1.5 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/servlet/ExportServlet.java 15 Aug 2013 15:13:01 -0000 1.4 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/servlet/ExportServlet.java 20 Sep 2013 15:11:42 -0000 1.5 @@ -184,7 +184,7 @@ throw new ScratchieApplicationException(error); } - List summaryList = service.getMonitoringSummary(content.getContentId()); + List summaryList = service.getMonitoringSummary(content.getContentId(), false); content.toDTO();