Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java,v diff -u -r1.72 -r1.73 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java 28 Mar 2016 17:24:51 -0000 1.72 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java 1 Apr 2016 16:19:06 -0000 1.73 @@ -177,16 +177,16 @@ mapAnswersPresentable = QaLearningAction.removeNewLinesMap(mapAnswersPresentable); } - if (!errors.isEmpty()) { + //finalize response so user won't need to edit his answers again, if coming back to the activity after leaving activity at this point + if (errors.isEmpty()) { + qaQueUsr.setResponseFinalized(true); + QaLearningAction.qaService.updateUser(qaQueUsr); + + //in case of errors - prompt learner to enter answers again + } else { saveErrors(request, errors); forwardName = QaAppConstants.LOAD_LEARNER; } - - //in case noReeditAllowed finalize response so user can't refresh the page and post answers again - if (errors.isEmpty() && qaContent.isNoReeditAllowed()) { - qaQueUsr.setResponseFinalized(true); - QaLearningAction.qaService.updateUser(qaQueUsr); - } generalLearnerFlowDTO.setMapAnswers(mapAnswers); generalLearnerFlowDTO.setMapAnswersPresentable(mapAnswersPresentable); @@ -362,10 +362,6 @@ QaContent qaContent = qaSession.getQaContent(); // LearningUtil.storeResponses(mapAnswers, qaService, toolContentID, new Long(toolSessionID)); - // mark response as finalised - QaQueUsr qaQueUsr = getCurrentUser(toolSessionID); - qaQueUsr.setResponseFinalized(true); - QaLearningAction.qaService.updateUser(qaQueUsr); qaLearningForm.resetUserActions(); qaLearningForm.setSubmitAnswersContent(null); @@ -398,7 +394,7 @@ generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString()); - generalLearnerFlowDTO.setUserUid(qaQueUsr.getQueUsrId().toString()); + generalLearnerFlowDTO.setUserUid(user.getQueUsrId().toString()); int sessionUserCount = 0; if (qaSession.getQaQueUsers() != null) {