Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java =================================================================== diff -u -raab18261022d7746e10b3651bd3c864356c58a8b -raf388fe5ff933f084e15bfa2b72c69c9e8664518 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision aab18261022d7746e10b3651bd3c864356c58a8b) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision af388fe5ff933f084e15bfa2b72c69c9e8664518) @@ -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 =================================================================== diff -u -rb749eaf5465cf318976a6e036293ed9fded85434 -raf388fe5ff933f084e15bfa2b72c69c9e8664518 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision b749eaf5465cf318976a6e036293ed9fded85434) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision af388fe5ff933f084e15bfa2b72c69c9e8664518) @@ -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 =================================================================== diff -u -raab18261022d7746e10b3651bd3c864356c58a8b -raf388fe5ff933f084e15bfa2b72c69c9e8664518 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision aab18261022d7746e10b3651bd3c864356c58a8b) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision af388fe5ff933f084e15bfa2b72c69c9e8664518) @@ -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 =================================================================== diff -u -rced85c0d8b00a9c225ba5eabd8dd1cf3e01e0fa3 -raf388fe5ff933f084e15bfa2b72c69c9e8664518 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/servlet/ExportServlet.java (.../ExportServlet.java) (revision ced85c0d8b00a9c225ba5eabd8dd1cf3e01e0fa3) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/servlet/ExportServlet.java (.../ExportServlet.java) (revision af388fe5ff933f084e15bfa2b72c69c9e8664518) @@ -184,7 +184,7 @@ throw new ScratchieApplicationException(error); } - List summaryList = service.getMonitoringSummary(content.getContentId()); + List summaryList = service.getMonitoringSummary(content.getContentId(), false); content.toDTO();