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.51.2.25 -r1.51.2.26 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java 6 Dec 2016 09:02:25 -0000 1.51.2.25 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java 6 Dec 2016 15:32:51 -0000 1.51.2.26 @@ -522,8 +522,6 @@ ScratchieSession session = this.getScratchieSessionBySessionId(toolSessionId); session.setScratchingFinished(true); scratchieSessionDao.saveObject(session); - - LearningWebsocketServer.sendCloseRequest(toolSessionId); } @Override Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java,v diff -u -r1.44.2.17 -r1.44.2.18 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java 6 Dec 2016 09:02:25 -0000 1.44.2.17 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java 6 Dec 2016 15:32:51 -0000 1.44.2.18 @@ -328,13 +328,13 @@ boolean isShowResults = (isScratchingFinished && !isWaitingForLeaderToSubmitNotebook && !isWaitingForLeaderToSubmitBurningQuestions) && !mode.isTeacher(); - // show leader showBurningQuestions page + // show showBurningQuestions page to the leader if (isUserLeader && isScratchingFinished && isWaitingForLeaderToSubmitBurningQuestions) { ActionRedirect redirect = new ActionRedirect(mapping.findForwardConfig("showBurningQuestions")); redirect.addParameter(ScratchieConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); return redirect; - // show leader notebook page + // show notebook page to the leader } else if (isUserLeader && isScratchingFinished && isWaitingForLeaderToSubmitNotebook) { ActionRedirect redirect = new ActionRedirect(mapping.findForwardConfig("newReflection")); redirect.addParameter(ScratchieConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); @@ -483,13 +483,18 @@ final Long toolSessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); ScratchieSession toolSession = service.getScratchieSessionBySessionId(toolSessionId); Long userUid = (Long) sessionMap.get(ScratchieConstants.ATTR_USER_UID); - - // in case of the leader (and if he hasn't done this when accessing notebook) we should let all other learners - // see Next Activity button + boolean isUserFinished = (boolean) sessionMap.get(ScratchieConstants.ATTR_USER_FINISHED); + if (toolSession.isUserGroupLeader(userUid) && !toolSession.isScratchingFinished()) { service.setScratchingFinished(toolSessionId); } + // in case of the leader (and if he hasn't done this last time accessing showResults page) we should let all other learners + // see Next Activity button + if (toolSession.isUserGroupLeader(userUid) && !isUserFinished) { + LearningWebsocketServer.sendCloseRequest(toolSessionId); + } + // get updated score from ScratchieSession int score = toolSession.getMark(); int maxScore = (Integer) sessionMap.get(ScratchieConstants.ATTR_MAX_SCORE); Index: lams_tool_scratchie/web/pages/learning/questionlist.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/web/pages/learning/questionlist.jsp,v diff -u -r1.12.2.4 -r1.12.2.5 --- lams_tool_scratchie/web/pages/learning/questionlist.jsp 20 Jul 2016 14:33:47 -0000 1.12.2.4 +++ lams_tool_scratchie/web/pages/learning/questionlist.jsp 6 Dec 2016 15:32:51 -0000 1.12.2.5 @@ -19,7 +19,7 @@