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 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+<%@include file="daterestriction.jsp"%>
+