Index: lams_tool_chat/build.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/build.properties,v diff -u -r1.16 -r1.16.8.1 --- lams_tool_chat/build.properties 9 Dec 2008 05:40:31 -0000 1.16 +++ lams_tool_chat/build.properties 16 Apr 2011 08:39:48 -0000 1.16.8.1 @@ -11,7 +11,7 @@ package=org/lamsfoundation/lams/tool/chat package.name=org.lamsfoundation.lams.tool.chat weblib=lib -tool.version=20081125 +tool.version=20110416 # Minimum compatible version min.server.version.number=2.0.3 Index: lams_tool_chat/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/conf/language/lams/ApplicationResources.properties,v diff -u -r1.17.10.3 -r1.17.10.4 --- lams_tool_chat/conf/language/lams/ApplicationResources.properties 16 Apr 2010 06:38:32 -0000 1.17.10.3 +++ lams_tool_chat/conf/language/lams/ApplicationResources.properties 16 Apr 2011 08:39:48 -0000 1.17.10.4 @@ -123,6 +123,18 @@ textsearch.phrase =have this exact wording or phrase: textsearch.any.words =have one or more of these words: textsearch.excluded.words =have none of these unwanted words: +monitor.summary.date.restriction =Date restriction +monitor.summary.when.date.restriction.is.set =Students will not be able to chat after the set date and time. +monitor.summary.after.date =Date/time: +monitor.summary.set.restriction =Set restriction +monitor.summary.unset.restriction =Remove restriction +authoring.info.teacher.set.restriction =The teacher has set a restriction for this activity from {0} onwards. +monitor.summary.notification =Notification +monitor.summary.date.restriction.set =Date restriction has been set +monitor.summary.date.restriction.removed =Date restriction has been removed + + + #======= End labels: Exported 117 labels for en AU ===== Index: lams_tool_chat/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/conf/language/lams/ApplicationResources_en_AU.properties,v diff -u -r1.15.10.3 -r1.15.10.4 --- lams_tool_chat/conf/language/lams/ApplicationResources_en_AU.properties 16 Apr 2010 06:38:33 -0000 1.15.10.3 +++ lams_tool_chat/conf/language/lams/ApplicationResources_en_AU.properties 16 Apr 2011 08:39:48 -0000 1.15.10.4 @@ -123,6 +123,16 @@ textsearch.phrase =have this exact wording or phrase: textsearch.any.words =have one or more of these words: textsearch.excluded.words =have none of these unwanted words: +monitor.summary.date.restriction =Date restriction +monitor.summary.when.date.restriction.is.set =Students will not be able to chat after the set date and time. +monitor.summary.after.date =Date/time: +monitor.summary.set.restriction =Set restriction +monitor.summary.unset.restriction =Remove restriction +authoring.info.teacher.set.restriction =The teacher has set a restriction for this activity from {0} onwards. +monitor.summary.notification =Notification +monitor.summary.date.restriction.set =Date restriction has been set +monitor.summary.date.restriction.removed =Date restriction has been removed + #======= End labels: Exported 117 labels for en AU ===== Index: lams_tool_chat/db/sql/create_lams_tool_chat.sql =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/db/sql/create_lams_tool_chat.sql,v diff -u -r1.16 -r1.16.10.1 --- lams_tool_chat/db/sql/create_lams_tool_chat.sql 27 Oct 2008 03:31:23 -0000 1.16 +++ lams_tool_chat/db/sql/create_lams_tool_chat.sql 16 Apr 2011 08:39:49 -0000 1.16.10.1 @@ -10,7 +10,7 @@ drop table if exists tl_lachat11_conditions; create table tl_lachat11_attachment (uid bigint not null auto_increment, file_version_id bigint, file_type varchar(255), file_name varchar(255), file_uuid bigint, create_date datetime, chat_uid bigint, primary key (uid))type=innodb; -create table tl_lachat11_chat (uid bigint not null auto_increment, create_date datetime, update_date datetime, create_by bigint, title varchar(255), instructions text, run_offline bit, lock_on_finished bit, reflect_on_activity bit, reflect_instructions text, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, filtering_enabled bit, filter_keywords text, primary key (uid))type=innodb; +create table tl_lachat11_chat (uid bigint not null auto_increment, create_date datetime, update_date datetime, create_by bigint, title varchar(255), instructions text, run_offline bit, lock_on_finished bit, reflect_on_activity bit, reflect_instructions text, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, filtering_enabled bit, filter_keywords text, submission_deadline datetime default null, primary key (uid))type=innodb; create table tl_lachat11_message (uid bigint not null auto_increment, chat_session_uid bigint not null, from_user_uid bigint, to_user_uid bigint, type varchar(255), body text, send_date datetime, hidden bit, primary key (uid))type=innodb; create table tl_lachat11_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), chat_uid bigint, jabber_room varchar(250), room_created bit, primary key (uid))type=innodb; create table tl_lachat11_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), jabber_id varchar(255), finishedActivity bit, jabber_nickname varchar(255), chat_session_uid bigint, primary key (uid))type=innodb; Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dbupdates/patch20110416_updateFrom235.sql =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dbupdates/patch20110416_updateFrom235.sql,v diff -u -r1.1 -r1.1.2.1 Binary files differ Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatDTO.java,v diff -u -r1.8 -r1.8.10.1 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatDTO.java 21 Jul 2008 06:00:43 -0000 1.8 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dto/ChatDTO.java 16 Apr 2011 08:39:48 -0000 1.8.10.1 @@ -28,6 +28,7 @@ import java.util.Iterator; import java.util.Set; import java.util.TreeSet; +import java.util.Date; import org.apache.log4j.Logger; import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; @@ -62,6 +63,8 @@ public String reflectInstructions; + public Date submissionDeadline; + public Set onlineInstructionsFiles = new TreeSet(); public Set offlineInstructionsFiles = new TreeSet(); @@ -82,6 +85,7 @@ lockOnFinish = chat.isLockOnFinished(); filteringEnabled = chat.isFilteringEnabled(); filteredKeyWords = chat.getFilterKeywords(); + submissionDeadline = chat.getSubmissionDeadline(); for (Iterator i = chat.getChatAttachments().iterator(); i.hasNext();) { ChatAttachment att = (ChatAttachment) i.next(); @@ -229,4 +233,12 @@ public void setFilteredKeyWords(String filteredKeyWords) { this.filteredKeyWords = filteredKeyWords; } + + public Date getSubmissionDeadline() { + return submissionDeadline; + } + + public void setSubmissionDeadline(Date submissionDeadline) { + this.submissionDeadline = submissionDeadline; + } } \ No newline at end of file Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java,v diff -u -r1.12 -r1.12.10.1 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java 27 Oct 2008 03:31:23 -0000 1.12 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/model/Chat.java 16 Apr 2011 08:39:48 -0000 1.12.10.1 @@ -85,6 +85,8 @@ private boolean defineLater; private Long toolContentId; + + private Date submissionDeadline; private Set chatAttachments; @@ -367,6 +369,19 @@ this.filterKeywords = filterKeywords; } + /** + * @hibernate.property column="submission_deadline" + * @return + */ + public Date getSubmissionDeadline() { + return submissionDeadline; + } + + public void setSubmissionDeadline(Date submissionDeadline) { + this.submissionDeadline = submissionDeadline; + } + + /** * toString * @@ -477,4 +492,5 @@ public void setConditions(Set conditions) { this.conditions = conditions; } + } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/util/ChatConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/util/ChatConstants.java,v diff -u -r1.13 -r1.13.10.1 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/util/ChatConstants.java 27 Oct 2008 03:31:23 -0000 1.13 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/util/ChatConstants.java 16 Apr 2011 08:39:48 -0000 1.13.10.1 @@ -60,4 +60,10 @@ public static final String ERROR_MSG_CONDITION = "error.condition"; public static final String ERROR_MSG_NAME_BLANK = "error.condition.name.blank"; public static final String ERROR_MSG_NAME_DUPLICATED = "error.condition.duplicated.name"; + + /* Date time restriction LDEV-2657 */ + public static final String ATTR_SUBMISSION_DEADLINE = "submissionDeadline"; + public static final String ATTR_IS_SUBMISSION_DEADLINE_PASSED = "isSubmissionDeadlinePassed"; + + } \ No newline at end of file Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java,v diff -u -r1.28 -r1.28.10.1 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java 12 Nov 2008 00:26:06 -0000 1.28 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java 16 Apr 2011 08:39:48 -0000 1.28.10.1 @@ -26,6 +26,7 @@ import java.io.IOException; import java.util.Date; +import java.util.TimeZone; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -54,6 +55,7 @@ import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; +import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.util.XMPPUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; @@ -120,8 +122,30 @@ } ChatDTO chatDTO = new ChatDTO(chat); + + /* Check if submission deadline is null */ + + Date submissionDeadline = chatDTO.getSubmissionDeadline(); request.setAttribute("chatDTO", chatDTO); + + 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 "runOffline" + if (currentLearnerDate.after(tzSubmissionDeadline)) { + return mapping.findForward("runOffline"); + + } + + } + + request.setAttribute("XMPPDOMAIN", Configuration.get(ConfigurationKeys.XMPP_DOMAIN)); request.setAttribute("CONFERENCEROOM", chatSession.getJabberRoom()); Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/MonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/MonitoringAction.java,v diff -u -r1.22 -r1.22.8.1 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/MonitoringAction.java 6 Jan 2009 03:44:36 -0000 1.22 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/MonitoringAction.java 16 Apr 2011 08:39:48 -0000 1.22.8.1 @@ -24,10 +24,13 @@ package org.lamsfoundation.lams.tool.chat.web.actions; +import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.TimeZone; +import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -44,11 +47,13 @@ import org.lamsfoundation.lams.tool.chat.model.ChatMessage; import org.lamsfoundation.lams.tool.chat.model.ChatSession; import org.lamsfoundation.lams.tool.chat.model.ChatUser; +import org.lamsfoundation.lams.tool.chat.service.ChatService; import org.lamsfoundation.lams.tool.chat.service.ChatServiceProxy; import org.lamsfoundation.lams.tool.chat.service.IChatService; import org.lamsfoundation.lams.tool.chat.util.ChatConstants; import org.lamsfoundation.lams.tool.chat.web.forms.MonitoringForm; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; import org.lamsfoundation.lams.web.session.SessionManager; @@ -96,7 +101,23 @@ Long currentTab = WebUtil.readLongParam(request, AttributeNames.PARAM_CURRENT_TAB,true); chatDTO.setCurrentTab(currentTab); + + /* Check if submission deadline is null */ + Date submissionDeadline = chatDTO.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()); + + } + + + Map sessCountMap = chatService .getMessageCountBySession(chat.getUid()); @@ -214,6 +235,43 @@ return openChatHistory(mapping, form, request, response); } + /** + * 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 chatService + if (chatService == null) { + chatService = ChatServiceProxy.getChatService(this.getServlet() + .getServletContext()); + } + + Long contentID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); + Chat chat = chatService.getChatByContentId(contentID); + + Long dateParameter = WebUtil.readLongParam(request, ChatConstants.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); + } + chat.setSubmissionDeadline(tzSubmissionDeadline); + chatService.saveOrUpdateChat(chat); + + return null; + } + + /* Private Methods */ private ChatUser getCurrentUser(Long toolSessionId) { Index: lams_tool_chat/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/web/pages/learning/learning.jsp,v diff -u -r1.16.10.1 -r1.16.10.2 --- lams_tool_chat/web/pages/learning/learning.jsp 16 Nov 2009 02:25:14 -0000 1.16.10.1 +++ lams_tool_chat/web/pages/learning/learning.jsp 16 Apr 2011 08:39:48 -0000 1.16.10.2 @@ -51,6 +51,13 @@ + +
+ + + +
+
  Index: lams_tool_chat/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.7 -r1.7.12.1 --- lams_tool_chat/web/pages/learning/runOffline.jsp 27 Oct 2006 08:27:07 -0000 1.7 +++ lams_tool_chat/web/pages/learning/runOffline.jsp 16 Apr 2011 08:39:48 -0000 1.7.12.1 @@ -5,10 +5,21 @@ -

- -

- + + +

+ +

+
+ +
+ + + +
+
+
+ <%@ include file="parts/finishButton.jsp"%> Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_chat/web/pages/monitoring/daterestriction.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_chat/web/pages/monitoring/summary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/web/pages/monitoring/summary.jsp,v diff -u -r1.21 -r1.21.8.1 --- lams_tool_chat/web/pages/monitoring/summary.jsp 6 Jan 2009 03:44:35 -0000 1.21 +++ lams_tool_chat/web/pages/monitoring/summary.jsp 16 Apr 2011 08:39:48 -0000 1.21.8.1 @@ -1,7 +1,91 @@ <%@ include file="/common/taglibs.jsp"%> - + + + -

+ + + + + + + + + + + +

@@ -92,8 +176,8 @@ +<%@include file="daterestriction.jsp"%> -