Index: lams_tool_survey/build.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/build.properties,v diff -u -r1.12 -r1.12.10.1 --- lams_tool_survey/build.properties 22 Oct 2008 00:11:48 -0000 1.12 +++ lams_tool_survey/build.properties 7 Apr 2011 18:22:01 -0000 1.12.10.1 @@ -12,7 +12,7 @@ project.displayname = lams survey tool # project version -tool.version=20081021 +tool.version=20110406 # hide tool option hideTool=false Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/SurveyConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/SurveyConstants.java,v diff -u -r1.16 -r1.16.10.1 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/SurveyConstants.java 22 Oct 2008 00:11:48 -0000 1.16 +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/SurveyConstants.java 7 Apr 2011 18:21:36 -0000 1.16.10.1 @@ -47,6 +47,12 @@ public static final String RUN_OFFLINE = "runOffline"; public static final String FORWARD_RESULT = "result"; + + // for submission deadline + + public static final String ATTR_SUBMISSION_DEADLINE = "submissionDeadline"; + + public static final String ATTR_IS_SUBMISSION_DEADLINE_PASSED = "isSubmissionDeadlinePassed"; // for parameters' name public static final String PARAM_FILE_VERSION_ID = "fileVersionId"; Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/dbupdates/patch20110406_updateFrom20081021.sql =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/dbupdates/Attic/patch20110406_updateFrom20081021.sql,v diff -u -r1.1 -r1.1.2.1 Binary files differ Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/Survey.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/Survey.java,v diff -u -r1.8 -r1.8.10.1 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/Survey.java 22 Oct 2008 00:11:48 -0000 1.8 +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/Survey.java 7 Apr 2011 18:21:36 -0000 1.8.10.1 @@ -77,6 +77,7 @@ // general infomation private Date created; private Date updated; + private Date submissionDeadline; private SurveyUser createdBy; // survey Items @@ -539,4 +540,18 @@ public void setConditions(Set conditions) { this.conditions = conditions; } + + + + /** + * @hibernate.property column="submission_deadline" + * @return date submissionDeadline + */ + public Date getSubmissionDeadline() { + return submissionDeadline; + } + + public void setSubmissionDeadline(Date submissionDeadline) { + this.submissionDeadline = submissionDeadline; + } } Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java,v diff -u -r1.18.6.1.4.2 -r1.18.6.1.4.3 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java 10 Feb 2011 23:19:18 -0000 1.18.6.1.4.2 +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java 7 Apr 2011 18:21:36 -0000 1.18.6.1.4.3 @@ -33,6 +33,7 @@ import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; +import java.util.TimeZone; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -65,6 +66,7 @@ import org.lamsfoundation.lams.tool.survey.web.form.ReflectionForm; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -172,6 +174,9 @@ entryText = notebookEntry.getEntry(); } + // get session from shared session. + HttpSession ss = SessionManager.getSession(); + // basic information sessionMap.put(SurveyConstants.ATTR_TITLE, survey.getTitle()); sessionMap.put(SurveyConstants.ATTR_SURVEY_INSTRUCTION, survey.getInstructions()); @@ -205,6 +210,23 @@ sessionMap.put(SurveyConstants.PARAM_RUN_OFFLINE, false); } + // check if there is submission deadline + Date submissionDeadline = survey.getSubmissionDeadline(); + if (submissionDeadline != null) { + //store submission deadline to sessionMap + sessionMap.put(SurveyConstants.ATTR_SUBMISSION_DEADLINE, submissionDeadline); + + UserDTO learnerDto = (UserDTO) ss.getAttribute(AttributeNames.USER); + TimeZone learnerTimeZone = learnerDto.getTimeZone(); + Date tzSubmissionDeadline = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, submissionDeadline); + Date currentLearnerDate = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, new Date()); + + //calculate whether submission deadline has passed, and if so forward to "runOffline" + if (currentLearnerDate.after(tzSubmissionDeadline)) { + return mapping.findForward("runOffline"); + } + } + // init survey item list SortedMap surveyItemList = getQuestionList(sessionMap); surveyItemList.clear(); Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/MonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/MonitoringAction.java,v diff -u -r1.18 -r1.18.10.1 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/MonitoringAction.java 22 Oct 2008 04:47:07 -0000 1.18 +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/MonitoringAction.java 7 Apr 2011 18:21:36 -0000 1.18.10.1 @@ -33,10 +33,13 @@ import java.util.SortedMap; import java.util.TreeMap; import java.util.Map.Entry; +import java.util.Date; +import java.util.TimeZone; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -62,14 +65,19 @@ import org.lamsfoundation.lams.tool.survey.service.ISurveyService; import org.lamsfoundation.lams.tool.survey.util.SurveyUserComparator; import org.lamsfoundation.lams.tool.survey.util.SurveyWebUtils; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.MessageService; 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; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; public class MonitoringAction extends Action { + + public ISurveyService surveyService; private static final String MSG_LABEL_QUESTION = "label.question"; private static final String MSG_LABEL_OPEN_RESPONSE = "label.open.response"; private static final String MSG_LABEL_SESSION_NAME = "label.session.name"; @@ -82,7 +90,7 @@ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String param = mapping.getParameter(); - + if (param.equals("summary")) { return summary(mapping, form, request, response); } @@ -102,6 +110,10 @@ if (param.equals("exportSurvey")) { return exportSurvey(mapping, form, request, response); } + + if (param.equals("setSubmissionDeadline")) { + return setSubmissionDeadline(mapping, form, request, response); + } return mapping.findForward(SurveyConstants.ERROR); } @@ -118,6 +130,10 @@ private ActionForward summary(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { + + // get session from shared session. + HttpSession ss = SessionManager.getSession(); + // initial Session Map SessionMap sessionMap = new SessionMap(); request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); @@ -151,7 +167,21 @@ sessionMap.put(SurveyConstants.ATTR_SURVEY, survey); sessionMap.put(AttributeNames.PARAM_TOOL_CONTENT_ID, contentId); sessionMap.put(SurveyConstants.ATTR_REFLECT_LIST, relectList); + + // check if there is submission deadline + Date submissionDeadline = survey.getSubmissionDeadline(); + + if (submissionDeadline != null) { + + UserDTO learnerDto = (UserDTO) ss.getAttribute(AttributeNames.USER); + TimeZone learnerTimeZone = learnerDto.getTimeZone(); + Date tzSubmissionDeadline = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, submissionDeadline); + MonitoringAction.log.info("Time:" + tzSubmissionDeadline.getTime()); + //store submission deadline to sessionMap + sessionMap.put(SurveyConstants.ATTR_SUBMISSION_DEADLINE, tzSubmissionDeadline.getTime()); + } + return mapping.findForward(SurveyConstants.SUCCESS); } @@ -433,6 +463,37 @@ } /** + * Set Submission Deadline + * + * @param mapping + * @param form + * @param request + * @param response + * @return + */ + public ActionForward setSubmissionDeadline(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + surveyService = getSurveyService(); + + Long contentID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); + Survey survey = surveyService.getSurveyByContentId(contentID); + + Long dateParameter = WebUtil.readLongParam(request, SurveyConstants.ATTR_SUBMISSION_DEADLINE, true); + Date tzSubmissionDeadline = null; + if (dateParameter != null) { + Date submissionDeadline = new Date(dateParameter); + HttpSession ss = SessionManager.getSession(); + UserDTO teacher = (UserDTO) ss.getAttribute(AttributeNames.USER); + TimeZone teacherTimeZone = teacher.getTimeZone(); + tzSubmissionDeadline = DateUtil.convertFromTimeZoneToDefault(teacherTimeZone, submissionDeadline); + } + survey.setSubmissionDeadline(tzSubmissionDeadline); + surveyService.saveOrUpdateSurvey(survey); + + return null; + } + + /** * Removes all the html tags from a string * @param string * @return Index: lams_tool_survey/web/common/header.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/web/common/header.jsp,v diff -u -r1.3 -r1.3.10.1 --- lams_tool_survey/web/common/header.jsp 8 Jun 2007 01:42:17 -0000 1.3 +++ lams_tool_survey/web/common/header.jsp 7 Apr 2011 18:21:37 -0000 1.3.10.1 @@ -11,7 +11,6 @@ - Index: lams_tool_survey/web/common/tabbedheader.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/web/common/tabbedheader.jsp,v diff -u -r1.3 -r1.3.10.1 --- lams_tool_survey/web/common/tabbedheader.jsp 8 Jun 2007 01:42:17 -0000 1.3 +++ lams_tool_survey/web/common/tabbedheader.jsp 7 Apr 2011 18:21:37 -0000 1.3.10.1 @@ -10,7 +10,6 @@ - Index: lams_tool_survey/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/web/pages/learning/learning.jsp,v diff -u -r1.12.6.1 -r1.12.6.1.4.1 --- lams_tool_survey/web/pages/learning/learning.jsp 29 Apr 2009 00:56:06 -0000 1.12.6.1 +++ lams_tool_survey/web/pages/learning/learning.jsp 7 Apr 2011 18:21:36 -0000 1.12.6.1.4.1 @@ -52,6 +52,13 @@

+ +
+ + + +
+
<%-- Show on one page or when learner does not choose edit one question --%> ${sessionMap.title} + + + +

+ +

+
+ +
+ + + +
+
+
-

- -

-

Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_survey/web/pages/monitoring/daterestriction.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_survey/web/pages/monitoring/summary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/web/pages/monitoring/summary.jsp,v diff -u -r1.10 -r1.10.10.1 --- lams_tool_survey/web/pages/monitoring/summary.jsp 3 Sep 2008 02:11:20 -0000 1.10 +++ lams_tool_survey/web/pages/monitoring/summary.jsp 7 Apr 2011 18:21:36 -0000 1.10.10.1 @@ -3,7 +3,30 @@ - + + + + + + + + + + + + + + -

+

@@ -107,6 +198,8 @@

+<%@include file="daterestriction.jsp"%> +