Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== diff -u -r09794ad4db6c91952e875a2be0463e8f6e7579b8 -r7d908c243f85cbf8d8f9c5205b6591dbadf2f6ce --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 09794ad4db6c91952e875a2be0463e8f6e7579b8) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 7d908c243f85cbf8d8f9c5205b6591dbadf2f6ce) @@ -3475,6 +3475,9 @@ assessmentResultDao.update(lastAssessmentResult); } + assessmentUser.setSessionFinished(true); + assessmentUserDao.saveObject(user); + //if this is a leader finishes, complete all non-leaders as well, also copy leader results to them AssessmentUser groupLeader = checkLeaderSelectToolForSessionLeader(assessmentUser, toolSessionId); if (isUserGroupLeader(userId, toolSessionId)) { @@ -3487,11 +3490,10 @@ copyAnswersFromLeader(sessionUser, groupLeader); }); - } else { - assessmentUser.setSessionFinished(true); - assessmentUserDao.saveObject(user); + } else if (groupLeader != null && groupLeader.isSessionFinished()) { + //copy answers from leader to current user + copyAnswersFromLeader(assessmentUser, groupLeader); } - } @Override