Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java =================================================================== diff -u -r67d7232f087b9f5c72ff41f7bbebe29cff81e099 -r3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java (.../AssessmentResultDAOHibernate.java) (revision 67d7232f087b9f5c72ff41f7bbebe29cff81e099) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java (.../AssessmentResultDAOHibernate.java) (revision 3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315) @@ -42,8 +42,8 @@ private static final String FIND_LAST_BY_ASSESSMENT_AND_USER = "FROM " + AssessmentResult.class.getName() + " AS r WHERE r.user.userId =:userId AND r.assessment.uid=:assessmentUid AND r.latest=1"; - private static final String FIND_WHETHER_LAST_RESULT_FINISHED = "SELECT (r.finishDate IS NOT NULL) FROM " + AssessmentResult.class.getName() - + " AS r WHERE r.user.userId =:userId AND r.assessment.uid=:assessmentUid AND r.latest=1"; + private static final String FIND_WHETHER_LAST_RESULT_FINISHED = "SELECT COUNT(*) > 0 FROM " + AssessmentResult.class.getName() + + " AS r WHERE r.user.userId =:userId AND r.assessment.uid=:assessmentUid AND r.latest=1 AND r.finishDate != null"; private static final String FIND_BY_ASSESSMENT_AND_USER_AND_FINISHED = "FROM " + AssessmentResult.class.getName() + " AS r WHERE r.user.userId = ? AND r.assessment.uid=? AND (r.finishDate != null) ORDER BY r.startDate ASC"; Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java =================================================================== diff -u -r6ec43132d9df310eebff50fac6fca9f095757bd7 -r3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java (.../IMcUsrAttemptDAO.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/IMcUsrAttemptDAO.java (.../IMcUsrAttemptDAO.java) (revision 3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315) @@ -99,7 +99,7 @@ /** * Get the highest attempt order for a user for a particular question */ - McUsrAttempt getUserAttemptByQuestion(Long queUsrUid, Long mcQueContentId); + McUsrAttempt getUserAttemptByQuestion(Long userUid, Long mcQueContentId); /** * Get the highest attempt order for a all users in a session for a particular question Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java =================================================================== diff -u -r6ec43132d9df310eebff50fac6fca9f095757bd7 -r3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java (.../McUsrAttemptDAO.java) (revision 6ec43132d9df310eebff50fac6fca9f095757bd7) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dao/hibernate/McUsrAttemptDAO.java (.../McUsrAttemptDAO.java) (revision 3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315) @@ -118,9 +118,9 @@ @Override @SuppressWarnings("unchecked") - public McUsrAttempt getUserAttemptByQuestion(final Long queUsrUid, final Long mcQueContentId) { + public McUsrAttempt getUserAttemptByQuestion(final Long userUid, final Long mcQueContentId) { List userAttemptList = getSessionFactory().getCurrentSession() - .createQuery(LOAD_PARTICULAR_QUESTION_ATTEMPT).setParameter("queUsrUid", queUsrUid) + .createQuery(LOAD_PARTICULAR_QUESTION_ATTEMPT).setParameter("queUsrUid", userUid) .setParameter("mcQueContentId", mcQueContentId).list(); if (userAttemptList.size() > 1) { throw new RuntimeException("There are more than 1 latest question attempt"); Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java =================================================================== diff -u -r17de10bb40e34a174c19ccc0b8821bfe08025156 -r3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision 17de10bb40e34a174c19ccc0b8821bfe08025156) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McService.java (.../McService.java) (revision 3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315) @@ -1589,7 +1589,7 @@ //calculate total learner mark int learnerMark = 0; for (McQueContent question : content.getMcQueContents()) { - McUsrAttempt attempt = mcUsrAttemptDAO.getUserAttemptByQuestion(userId, question.getUid()); + McUsrAttempt attempt = mcUsrAttemptDAO.getUserAttemptByQuestion(mcUser.getUid(), question.getUid()); learnerMark += attempt == null ? 0 : attempt.getMark(); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McLearningController.java =================================================================== diff -u -r17de10bb40e34a174c19ccc0b8821bfe08025156 -r3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McLearningController.java (.../McLearningController.java) (revision 17de10bb40e34a174c19ccc0b8821bfe08025156) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McLearningController.java (.../McLearningController.java) (revision 3b0e49dde2f5aed2b2cc53e70ae8fd8b30298315) @@ -592,7 +592,7 @@ } mcGeneralLearnerFlowDTO.setMapFeedbackContent(mapFeedbackContent); - McQueUsr user = getCurrentUser(toolSessionID); + McQueUsr user = getSpecifiedUser(toolSessionID, mcLearningForm.getUserID().intValue()); Long toolContentUID = mcContent.getUid();