Index: lams_tool_wiki/conf/hibernate/mappings/org/lamsfoundation/lams/tool/wiki/model/Wiki.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/conf/hibernate/mappings/org/lamsfoundation/lams/tool/wiki/model/Attic/Wiki.hbm.xml,v
diff -u -r1.3.2.2 -r1.3.2.3
--- lams_tool_wiki/conf/hibernate/mappings/org/lamsfoundation/lams/tool/wiki/model/Wiki.hbm.xml 27 Apr 2016 13:22:24 -0000 1.3.2.2
+++ lams_tool_wiki/conf/hibernate/mappings/org/lamsfoundation/lams/tool/wiki/model/Wiki.hbm.xml 21 Sep 2016 08:05:52 -0000 1.3.2.3
@@ -213,6 +213,14 @@
/>
+
+
sessionDTOs = new TreeSet();
+
+ public Set sessionDTOs = new TreeSet();
+
public Long currentTab;
/* Constructors */
@@ -85,8 +90,10 @@
notifyUpdates = wiki.isNotifyUpdates();
reflectOnActivity = wiki.isReflectOnActivity();
reflectInstructions = wiki.getReflectInstructions();
+ submissionDeadline = wiki.getSubmissionDeadline();
minimumEdits = wiki.getMinimumEdits();
maximumEdits = wiki.getMaximumEdits();
+
for (Iterator iter = wiki.getWikiSessions().iterator(); iter.hasNext();) {
WikiSession session = iter.next();
@@ -228,4 +235,12 @@
public void setCurrentTab(Long currentTab) {
this.currentTab = currentTab;
}
+
+ public Date getSubmissionDeadline() {
+ return submissionDeadline;
+ }
+
+ public void setSubmissionDeadline(Date submissionDeadline) {
+ this.submissionDeadline = submissionDeadline;
+ }
}
Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/model/Wiki.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/model/Wiki.java,v
diff -u -r1.4.2.3 -r1.4.2.4
--- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/model/Wiki.java 11 May 2016 07:37:40 -0000 1.4.2.3
+++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/model/Wiki.java 21 Sep 2016 08:12:21 -0000 1.4.2.4
@@ -95,6 +95,8 @@
private boolean defineLater;
private Long toolContentId;
+
+ private Date submissionDeadline;
private Set wikiSessions;
@@ -368,7 +370,21 @@
public void setMainPage(WikiPage mainPage) {
this.mainPage = mainPage;
}
+
+
+ /**
+ *
+ * @return
+ */
+ public Date getSubmissionDeadline() {
+ return submissionDeadline;
+ }
+
+ public void setSubmissionDeadline(Date submissionDeadline) {
+ this.submissionDeadline = submissionDeadline;
+ }
+
/**
* toString
*
Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/util/WikiConstants.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/util/WikiConstants.java,v
diff -u -r1.9.2.2 -r1.9.2.3
--- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/util/WikiConstants.java 11 May 2016 07:37:40 -0000 1.9.2.2
+++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/util/WikiConstants.java 21 Sep 2016 08:13:57 -0000 1.9.2.3
@@ -74,4 +74,13 @@
public static final String JAVASCRIPT_TOKEN = "javascript";
public static final String JAVASCRIPT_REPLACE_TOKEN = "JAVASCRIPTREPLACE";
+
+ public static final String MESSAGE_SEPARATOR = " ";
+ public static final String TEXT_SEARCH_DEFINITION_NAME = "text.search.output.definition.chat";
+ public static final String TEXT_SEARCH_DEFAULT_CONDITION_DISPLAY_NAME_KEY = "text.search.output.definition.chat.default.condition";
+
+ /* Date time restriction */
+ public static final String ATTR_SUBMISSION_DEADLINE = "submissionDeadline";
+ public static final String ATTR_IS_SUBMISSION_DEADLINE_PASSED = "isSubmissionDeadlinePassed";
+
}
Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/LearningAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/LearningAction.java,v
diff -u -r1.11.2.4 -r1.11.2.5
--- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/LearningAction.java 5 Aug 2016 12:40:32 -0000 1.11.2.4
+++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/LearningAction.java 21 Sep 2016 08:15:15 -0000 1.11.2.5
@@ -26,11 +26,13 @@
import java.io.IOException;
import java.util.Date;
+import java.util.TimeZone;
import java.util.SortedSet;
import java.util.TreeSet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
@@ -41,6 +43,7 @@
import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants;
import org.lamsfoundation.lams.tool.ToolAccessMode;
import org.lamsfoundation.lams.tool.ToolSessionManager;
+
import org.lamsfoundation.lams.tool.exception.DataMissingException;
import org.lamsfoundation.lams.tool.exception.ToolException;
import org.lamsfoundation.lams.tool.wiki.dto.WikiDTO;
@@ -59,6 +62,7 @@
import org.lamsfoundation.lams.tool.wiki.web.forms.LearningForm;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
import org.lamsfoundation.lams.util.WebUtil;
+import org.lamsfoundation.lams.util.DateUtil;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
@@ -165,10 +169,12 @@
if (wikiService.getEventNotificationService().eventExists(WikiConstants.TOOL_SIGNATURE,
WikiConstants.EVENT_NOTIFY_LEARNERS, toolSessionID)
&& wikiService.getEventNotificationService().isSubscribed(WikiConstants.TOOL_SIGNATURE,
- WikiConstants.EVENT_NOTIFY_LEARNERS, toolSessionID, wikiUser.getUserId().longValue())) {
-
+ WikiConstants.EVENT_NOTIFY_LEARNERS, toolSessionID, wikiUser.getUserId())) {
wikiUserDTO.setNotificationEnabled(true);
}
+
+
+
// add the userDTO to attributes
request.setAttribute(WikiConstants.ATTR_USER_DTO, wikiUserDTO);
@@ -222,7 +228,30 @@
request.setAttribute(WikiConstants.ATTR_CONTENT_EDITAVLE, true);
}
request.setAttribute(WikiConstants.ATTR_FINISHED_ACTIVITY, wikiUser.isFinishedActivity());
+
+
+ /* Check if submission deadline is null */
+
+ Date submissionDeadline = wikiDTO.getSubmissionDeadline();
+ request.setAttribute("wikiDTO", wikiDTO);
+
+ 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());
+ request.setAttribute("submissionDeadline", submissionDeadline);
+
+ // calculate whether submission deadline has passed, and if so forward to "submissionDeadline"
+ if (currentLearnerDate.after(tzSubmissionDeadline)) {
+ return mapping.findForward("submissionDeadline");
+ }
+
+ }
+
return mapping.findForward("wiki");
}
Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/MonitoringAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/MonitoringAction.java,v
diff -u -r1.10.2.4 -r1.10.2.5
--- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/MonitoringAction.java 11 May 2016 07:37:40 -0000 1.10.2.4
+++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/MonitoringAction.java 21 Sep 2016 08:15:50 -0000 1.10.2.5
@@ -29,6 +29,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
@@ -55,6 +56,9 @@
import org.lamsfoundation.lams.util.WebUtil;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
+import java.util.Date;
+import org.lamsfoundation.lams.util.DateUtil;
+import java.util.TimeZone;
/**
* This action handles all the monitoring actions, which include opening
@@ -117,7 +121,21 @@
Long currentTab = WebUtil.readLongParam(request, AttributeNames.PARAM_CURRENT_TAB, true);
wikiDT0.setCurrentTab(currentTab);
+
+ /* Check if submission deadline is null */
+ Date submissionDeadline = wikiDT0.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);
+ request.setAttribute("submissionDeadline", tzSubmissionDeadline.getTime());
+
+ }
+
request.setAttribute(WikiConstants.ATTR_WIKI_DTO, wikiDT0);
request.setAttribute(WikiConstants.ATTR_CONTENT_FOLDER_ID, contentFolderID);
request.setAttribute(WikiConstants.ATTR_IS_GROUPED_ACTIVITY, wikiService.isGroupedActivity(toolContentID));
@@ -156,7 +174,44 @@
return wikiUser;
}
+
+
+ /**
+ * Set Submission Deadline
+ *
+ * @param mapping
+ * @param form
+ * @param request
+ * @param response
+ * @return
+ */
+ public ActionForward setSubmissionDeadline(ActionMapping mapping, ActionForm form, HttpServletRequest request,
+ HttpServletResponse response) {
+ // set up wikiService
+ if (wikiService == null) {
+ wikiService = WikiServiceProxy.getWikiService(this.getServlet().getServletContext());
+ }
+
+ Long contentID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID);
+ Wiki wiki = wikiService.getWikiByContentId(contentID);
+
+ Long dateParameter = WebUtil.readLongParam(request,WikiConstants.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);
+ }
+ wiki.setSubmissionDeadline(tzSubmissionDeadline);
+ System.out.println("datasetbefore"+wiki);
+ wikiService.saveOrUpdateWiki(wiki);
+ System.out.println("datasetafter"+wiki);
+ return null;
+ }
+
/**
* Shows a specific wiki based on the session id
*