Index: lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaContent.hbm.xml,v diff -u -r1.21.2.4 -r1.21.2.5 --- lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaContent.hbm.xml 3 Jul 2015 17:01:11 -0000 1.21.2.4 +++ lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaContent.hbm.xml 20 Apr 2016 16:59:00 -0000 1.21.2.5 @@ -82,6 +82,14 @@ column="submission_deadline" length="10" /> + + sessionMap = (SessionMap) request.getSession() + .getAttribute(httpSessionID); /*recreate the users and responses*/ qaLearningForm.resetUserActions(); @@ -480,9 +481,17 @@ qaLearningForm.resetAll(); - boolean lockWhenFinished = qaContent.isLockWhenFinished(); - generalLearnerFlowDTO.setLockWhenFinished(new Boolean(lockWhenFinished).toString()); - generalLearnerFlowDTO.setNoReeditAllowed(qaContent.isNoReeditAllowed()); + boolean lockWhenFinished; + boolean noReeditAllowed; + if (sessionMap.get("noRefresh") != null && (boolean)sessionMap.get("noRefresh")) { + lockWhenFinished = true; + noReeditAllowed = true; + } else { + lockWhenFinished = qaContent.isLockWhenFinished(); + noReeditAllowed = qaContent.isNoReeditAllowed(); + } + generalLearnerFlowDTO.setLockWhenFinished(new Boolean(noReeditAllowed).toString()); + generalLearnerFlowDTO.setNoReeditAllowed(lockWhenFinished); boolean allowRichEditor = qaContent.isAllowRichEditor(); generalLearnerFlowDTO.setAllowRichEditor(new Boolean(allowRichEditor).toString()); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java,v diff -u -r1.86.2.8 -r1.86.2.9 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java 22 Feb 2016 14:47:04 -0000 1.86.2.8 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java 20 Apr 2016 16:59:00 -0000 1.86.2.9 @@ -307,7 +307,34 @@ // calculate whether submission deadline has passed, and if so forward to "submissionDeadline" if (currentLearnerDate.after(tzSubmissionDeadline)) { - return mapping.findForward("submissionDeadline"); + + //if ShowOtherAnswersAfterDeadline is enabled - show others answers + if (qaContent.isShowOtherAnswersAfterDeadline()) { + generalLearnerFlowDTO.setLockWhenFinished(Boolean.TRUE.toString()); + generalLearnerFlowDTO.setNoReeditAllowed(true); + //only for ActionForward refreshAllResults(..) method + sessionMap.put("noRefresh", true); + /* + * the report should have all the users' entries OR the report should have only the current + * session's entries + */ + generalLearnerFlowDTO.setRequestLearningReport(new Boolean(true).toString()); + + QaLearningAction.refreshSummaryData(request, qaContent, qaService, sessionMapId, user, + generalLearnerFlowDTO); + + if (user.isLearnerFinished()) { + generalLearnerFlowDTO.setRequestLearningReportViewOnly(new Boolean(true).toString()); + return (mapping.findForward(REVISITED_LEARNER_REP)); + } else { + generalLearnerFlowDTO.setRequestLearningReportViewOnly(new Boolean(false).toString()); + return (mapping.findForward(LEARNER_REP)); + } + + // show submissionDeadline page otherwise + } else { + return mapping.findForward("submissionDeadline"); + } } } @@ -425,4 +452,4 @@ } return qaUser; } -} +} \ No newline at end of file Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java,v diff -u -r1.80.2.1 -r1.80.2.2 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java 23 Feb 2016 10:47:32 -0000 1.80.2.1 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringAction.java 20 Apr 2016 16:59:00 -0000 1.80.2.2 @@ -123,13 +123,40 @@ UserDTO teacher = (UserDTO) ss.getAttribute(AttributeNames.USER); TimeZone teacherTimeZone = teacher.getTimeZone(); tzSubmissionDeadline = DateUtil.convertFromTimeZoneToDefault(teacherTimeZone, submissionDeadline); + + } else { + //set showOtherAnswersAfterDeadline to false + content.setShowOtherAnswersAfterDeadline(false); } content.setSubmissionDeadline(tzSubmissionDeadline); qaService.saveOrUpdateQaContent(content); return null; } + + /** + * Set Submission Deadline + * + * @param mapping + * @param form + * @param request + * @param response + * @return + */ + public ActionForward setShowOtherAnswersAfterDeadline(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + IQaService qaService = getQAService(); + + Long contentID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); + QaContent content = qaService.getQaContent(contentID); + + boolean showOtherAnswersAfterDeadline = WebUtil.readBooleanParam(request, QaAppConstants.PARAM_SHOW_OTHER_ANSWERS_AFTER_DEADLINE); + content.setShowOtherAnswersAfterDeadline(showOtherAnswersAfterDeadline); + qaService.saveOrUpdateQaContent(content); + return null; + } + private IQaService getQAService() { return QaServiceProxy.getQaService(getServlet().getServletContext()); } Index: lams_tool_laqa/web/monitoring/dateRestriction.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/monitoring/dateRestriction.jsp,v diff -u -r1.2 -r1.2.2.1 --- lams_tool_laqa/web/monitoring/dateRestriction.jsp 16 May 2011 03:17:57 -0000 1.2 +++ lams_tool_laqa/web/monitoring/dateRestriction.jsp 20 Apr 2016 16:59:00 -0000 1.2.2.1 @@ -1,5 +1,43 @@ <%@include file="/common/taglibs.jsp"%> + + @@ -22,7 +60,7 @@ - + @@ -35,9 +73,19 @@ - + + + + disabled="disabled" + checked="checked" + /> + + + + - \ No newline at end of file +