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.53.2.14 -r1.53.2.15 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java 28 Mar 2016 18:08:29 -0000 1.53.2.14 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java 1 Apr 2016 16:23:08 -0000 1.53.2.15 @@ -177,18 +177,18 @@ mapAnswersPresentable = (Map) sessionMap.get(QaAppConstants.MAP_ALL_RESULTS_KEY); 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); @@ -363,12 +363,8 @@ QaQueUsr user = QaLearningAction.qaService.getUserByIdAndSession(new Long(userID), new Long(toolSessionID)); QaSession qaSession = QaLearningAction.qaService.getSessionById(new Long(toolSessionID).longValue()); 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); @@ -401,7 +397,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) {