Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java,v diff -u -r1.7 -r1.8 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java 25 Mar 2009 22:46:28 -0000 1.7 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentResultDAOHibernate.java 3 Apr 2009 18:38:47 -0000 1.8 @@ -30,7 +30,8 @@ public class AssessmentResultDAOHibernate extends BaseDAOHibernate implements AssessmentResultDAO { - private static final String FIND_BY_ASSESSMENT_AND_USER = "from " + AssessmentResult.class.getName() + private static final String FIND_BY_ASSESSMENT_AND_USER = "from " + + AssessmentResult.class.getName() + " as r where r.user.userId = ? and r.assessment.uid=? order by r.startDate asc"; private static final String FIND_BY_ASSESSMENT_AND_USER_AND_FINISHED = "from " Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java,v diff -u -r1.14 -r1.15 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java 27 Mar 2009 16:33:24 -0000 1.14 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java 3 Apr 2009 18:38:48 -0000 1.15 @@ -475,6 +475,9 @@ if (mark > 0) { float penalty = question.getPenaltyFactor()*numberWrongAnswers; mark -= penalty; + if (penalty > maxMark) { + penalty = maxMark; + } questionResult.setPenalty(penalty); } if (mark < 0) { @@ -488,6 +491,10 @@ return assessmentResultDao.getLastAssessmentResult(assessmentUid, userId); } + public AssessmentResult getLastFinishedAssessmentResult(Long assessmentUid, Long userId) { + return assessmentResultDao.getLastFinishedAssessmentResult(assessmentUid, userId); + } + public int getAssessmentResultCount(Long assessmentUid, Long userId) { return assessmentResultDao.getAssessmentResultCount(assessmentUid, userId); } Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/IAssessmentService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/IAssessmentService.java,v diff -u -r1.9 -r1.10 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/IAssessmentService.java 25 Mar 2009 22:46:28 -0000 1.9 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/IAssessmentService.java 3 Apr 2009 18:38:48 -0000 1.10 @@ -177,6 +177,8 @@ AssessmentResult getLastAssessmentResult(Long assessmentUid, Long userId); + AssessmentResult getLastFinishedAssessmentResult(Long assessmentUid, Long userId); + int getAssessmentResultCount(Long assessmentUid, Long userId); List getAssessmentQuestionResultList(Long assessmentUid, Long userId, Long questionUid); Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java,v diff -u -r1.13 -r1.14 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java 27 Mar 2009 16:33:24 -0000 1.13 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java 3 Apr 2009 18:38:47 -0000 1.14 @@ -379,7 +379,6 @@ AssessmentUser assessmentUser = (AssessmentUser) sessionMap.get(AssessmentConstants.ATTR_USER); IAssessmentService service = getAssessmentService(); service.setAttemptStarted(assessment, assessmentUser, toolSessionId); - loadupLastAttempt(sessionMap); sessionMap.put(AssessmentConstants.ATTR_FINISHED_LOCK, false); sessionMap.put(AssessmentConstants.ATTR_PAGE_NUMBER, 1); @@ -611,7 +610,7 @@ Long assessmentUid = ((Assessment) sessionMap.get(AssessmentConstants.ATTR_ASSESSMENT)).getUid(); Long userId = ((AssessmentUser) sessionMap.get(AssessmentConstants.ATTR_USER)).getUserId(); IAssessmentService service = getAssessmentService(); - AssessmentResult result = service.getLastAssessmentResult(assessmentUid,userId); + AssessmentResult result = service.getLastFinishedAssessmentResult(assessmentUid,userId); for(LinkedHashSet questionsForOnePage : pagedQuestions) { for (AssessmentQuestion question : questionsForOnePage) {