Index: lams_tool_lamc/build.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/build.properties,v diff -u -r1.15 -r1.15.8.1 --- lams_tool_lamc/build.properties 9 Dec 2008 05:38:09 -0000 1.15 +++ lams_tool_lamc/build.properties 16 Apr 2011 04:32:25 -0000 1.15.8.1 @@ -4,7 +4,7 @@ signature=lamc11 #version of this project -tool.version=20081127 +tool.version=20110416 # hide tool option hideTool=false Index: lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/Attic/McContent.hbm.xml,v diff -u -r1.21 -r1.21.10.1 --- lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McContent.hbm.xml 11 Oct 2007 06:27:31 -0000 1.21 +++ lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McContent.hbm.xml 16 Apr 2011 04:32:25 -0000 1.21.10.1 @@ -86,6 +86,13 @@ length="20" /> + DTO that holds properties for initial screen presentation *

@@ -39,6 +41,8 @@ protected String toolActivityOffline; + protected Date submissionDeadline; + /** * @return Returns the toolActivityOffline. */ @@ -75,6 +79,19 @@ public void setQuestionListingMode(String questionListingMode) { this.questionListingMode = questionListingMode; } + /** + * @return the submissionDeadline + */ + public Date getSubmissionDeadline() { + return submissionDeadline; + } + + /** + * @param submissionDeadline the submissionDeadline to set + */ + public void setSubmissionDeadline(Date submissionDeadline) { + this.submissionDeadline = submissionDeadline; + } public int compareTo(Object o) { McLearnerStarterDTO mcLearnerStarterDTO = (McLearnerStarterDTO) o; Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20110416_updateFrom235.sql =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20110416_updateFrom235.sql,v diff -u -r1.1 -r1.1.2.1 Binary files differ Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McContent.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McContent.java,v diff -u -r1.17 -r1.17.10.1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McContent.java 11 Oct 2007 06:27:31 -0000 1.17 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McContent.java 16 Apr 2011 04:32:25 -0000 1.17.10.1 @@ -103,6 +103,9 @@ private boolean showMarks; + /* LDEV-2657 */ + private Date submissionDeadline; + /** nullable persistent field */ private Integer passMark; @@ -522,6 +525,19 @@ this.displayAnswers = displayAnswers; } + + /** + * @return date submissionDeadline + */ + public Date getSubmissionDeadline() { + return submissionDeadline; + } + + public void setSubmissionDeadline(Date submissionDeadline) { + this.submissionDeadline = submissionDeadline; + } + + /** * Get total possible marks for this content. Iterates over the McQueContents set */ Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java,v diff -u -r1.76 -r1.76.10.1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java 12 Oct 2007 09:23:19 -0000 1.76 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java 16 Apr 2011 04:32:24 -0000 1.76.10.1 @@ -23,9 +23,11 @@ package org.lamsfoundation.lams.tool.mc.web; import java.io.IOException; +import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.TimeZone; import java.util.TreeMap; import javax.servlet.ServletException; @@ -56,6 +58,7 @@ import org.lamsfoundation.lams.tool.mc.service.IMcService; import org.lamsfoundation.lams.tool.mc.service.McServiceProxy; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; @@ -258,7 +261,28 @@ mcLearningForm.setQuestionListingMode(QUESTION_LISTING_MODE_COMBINED); } + /* + * Is there a deadline set? + */ + Date submissionDeadline = mcContent.getSubmissionDeadline(); + + if (submissionDeadline != null) { + + HttpSession ss = SessionManager.getSession(); + UserDTO learnerDto = (UserDTO) ss.getAttribute(AttributeNames.USER); + TimeZone learnerTimeZone = learnerDto.getTimeZone(); + Date tzSubmissionDeadline = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, submissionDeadline); + Date currentLearnerDate = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, new Date()); + mcLearnerStarterDTO.setSubmissionDeadline(submissionDeadline); + + //calculate whether submission deadline has passed, and if so forward to "runOffline" + if (currentLearnerDate.after(tzSubmissionDeadline)) { + request.setAttribute(MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO); + return mapping.findForward(RUN_OFFLINE); + } + } + /* * Is the tool activity been checked as Run Offline in the property inspector? */ Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java,v diff -u -r1.44 -r1.44.10.1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java 4 Jun 2008 04:19:29 -0000 1.44 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringAction.java 16 Apr 2011 04:32:24 -0000 1.44.10.1 @@ -26,15 +26,18 @@ import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; +import java.util.Date; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.TimeZone; import java.util.TreeMap; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFCell; @@ -71,9 +74,11 @@ import org.lamsfoundation.lams.tool.mc.pojos.McUploadedFile; import org.lamsfoundation.lams.tool.mc.service.IMcService; import org.lamsfoundation.lams.tool.mc.service.McServiceProxy; +import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; +import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; @@ -4830,7 +4835,39 @@ return data; } + + /** + * Set Submission Deadline + * + * @param mapping + * @param form + * @param request + * @param response + * @return + */ + public ActionForward setSubmissionDeadline(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + + IMcService mcService = McServiceProxy.getMcService(getServlet().getServletContext()); + + Long contentID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); + McContent mcContent = mcService.retrieveMc(contentID); + + Long dateParameter = WebUtil.readLongParam(request, McAppConstants.ATTR_SUBMISSION_DEADLINE, true); + Date tzSubmissionDeadline = null; + if (dateParameter != null) { + Date submissionDeadline = new Date(dateParameter); + HttpSession ss = SessionManager.getSession(); + org.lamsfoundation.lams.usermanagement.dto.UserDTO teacher = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) ss.getAttribute(AttributeNames.USER); + TimeZone teacherTimeZone = teacher.getTimeZone(); + tzSubmissionDeadline = DateUtil.convertFromTimeZoneToDefault(teacherTimeZone, submissionDeadline); + } + mcContent.setSubmissionDeadline(tzSubmissionDeadline); + mcService.updateMc(mcContent); + return null; + } + /** * Return ResourceService bean. */ Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java,v diff -u -r1.43 -r1.43.10.1 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java 21 Jul 2008 06:05:27 -0000 1.43 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McMonitoringStarterAction.java 16 Apr 2011 04:32:24 -0000 1.43.10.1 @@ -29,8 +29,11 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; +import java.util.Date; +import java.util.TimeZone; import javax.servlet.ServletException; +import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -54,9 +57,12 @@ import org.lamsfoundation.lams.tool.mc.pojos.McQueContent; import org.lamsfoundation.lams.tool.mc.service.IMcService; import org.lamsfoundation.lams.tool.mc.service.McServiceProxy; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; +import org.lamsfoundation.lams.web.session.SessionManager; /** @@ -188,6 +194,20 @@ McContent mcContent=mcService.retrieveMc(new Long(toolContentID)); mcGeneralMonitoringDTO.setActivityTitle(mcContent.getTitle()); mcGeneralMonitoringDTO.setActivityInstructions(mcContent.getInstructions()); + + // get session from shared session. + HttpSession ss = SessionManager.getSession(); + + Date submissionDeadline = mcContent.getSubmissionDeadline(); + + if (submissionDeadline != null) { + + UserDTO learnerDto = (UserDTO) ss.getAttribute(AttributeNames.USER); + TimeZone learnerTimeZone = learnerDto.getTimeZone(); + Date tzSubmissionDeadline = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, submissionDeadline); + mcGeneralMonitoringDTO.setSubmissionDeadline(tzSubmissionDeadline.getTime()); + + } mcGeneralMonitoringDTO.setCurrentMonitoringTab("summary"); mcGeneralMonitoringDTO.setSbmtSuccess(new Boolean(false).toString()); @@ -234,7 +254,7 @@ logger.debug("end initializing monitoring data..."); mcGeneralMonitoringDTO.setExistsOpenMcs(new Boolean(false).toString()); - logger.debug("post refreshes, mcGeneralMonitoringDTO: " + mcGeneralMonitoringDTO); + logger.debug("post refreshes, mcGeneralMonitoringDTO: " + mcGeneralMonitoringDTO.toString()); /* SELECTION_CASE == 2 indicates start up */ request.setAttribute(SELECTION_CASE, new Long(2)); @@ -258,6 +278,7 @@ request.setAttribute("reflect", mcContent.isReflect()); request.setAttribute("reflectionSubject", mcContent.getReflectionSubject()); request.setAttribute("passMark", mcContent.getPassMark()); + request.setAttribute("submissionDeadline", mcContent.getSubmissionDeadline()); // The edit activity code needs a session map SessionMap sessionMap = new SessionMap(); @@ -278,4 +299,8 @@ logger.debug("add " + message +" to ActionMessages:"); saveErrors(request,errors); } + + + + } Index: lams_tool_lamc/web/common/header.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/common/header.jsp,v diff -u -r1.6 -r1.6.12.1 --- lams_tool_lamc/web/common/header.jsp 8 Jun 2007 01:38:22 -0000 1.6 +++ lams_tool_lamc/web/common/header.jsp 16 Apr 2011 04:32:25 -0000 1.6.12.1 @@ -19,7 +19,6 @@ - <%@ include file="/common/fckeditorheader.jsp"%> Index: lams_tool_lamc/web/learning/RunOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/Attic/RunOffline.jsp,v diff -u -r1.14.8.1 -r1.14.8.2 --- lams_tool_lamc/web/learning/RunOffline.jsp 14 Sep 2009 07:07:45 -0000 1.14.8.1 +++ lams_tool_lamc/web/learning/RunOffline.jsp 16 Apr 2011 04:32:25 -0000 1.14.8.2 @@ -67,11 +67,20 @@

-

- -

- - + + +

+ +

+
+ +
+ + + +
+
+
Index: lams_tool_lamc/web/monitoring/MonitoringMaincontent.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/monitoring/MonitoringMaincontent.jsp,v diff -u -r1.43 -r1.43.10.1 --- lams_tool_lamc/web/monitoring/MonitoringMaincontent.jsp 15 Oct 2007 05:01:48 -0000 1.43 +++ lams_tool_lamc/web/monitoring/MonitoringMaincontent.jsp 16 Apr 2011 04:32:25 -0000 1.43.10.1 @@ -43,7 +43,6 @@ <fmt:message key="label.monitoring"/> <%@ include file="/common/header.jsp"%> - + + + -

+ + + + + + + + + + +

@@ -155,6 +238,8 @@

+<%@include file="daterestriction.jsp"%> + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_lamc/web/monitoring/daterestriction.jsp'. Fisheye: No comparison available. Pass `N' to diff?