Index: lams_tool_chat/build.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/build.properties,v diff -u -r1.16 -r1.17 --- lams_tool_chat/build.properties 9 Dec 2008 05:40:31 -0000 1.16 +++ lams_tool_chat/build.properties 17 May 2011 02:21:54 -0000 1.17 @@ -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.18 -r1.19 --- lams_tool_chat/conf/language/lams/ApplicationResources.properties 5 Jul 2009 13:23:13 -0000 1.18 +++ lams_tool_chat/conf/language/lams/ApplicationResources.properties 17 May 2011 02:21:54 -0000 1.19 @@ -122,7 +122,16 @@ textsearch.phrase =have this exact wording or phrase: textsearch.any.words =have one or more of these words: message.contentInUseSet =Modification of content is not allowed since one or more learners has attempted the activity. -message.alertContentEdit =Warning: One of more learners have accessed this activity. Changing this content will result in learners getting different information. +message.alertContentEdit monitor.summary.date.restriction =Date restriction +monitor.summary.when.date.restriction.is.set =Learners will not be able to use the 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 instructor has set a date/time restriction for this activity from {0}. After this time this activity will not be available. +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.17 --- 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 17 May 2011 02:21:54 -0000 1.17 @@ -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.2 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.9 --- 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 17 May 2011 02:21:54 -0000 1.9 @@ -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.13 --- 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 17 May 2011 02:21:54 -0000 1.13 @@ -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 * 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.14 -r1.15 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/util/ChatConstants.java 2 Aug 2009 20:14:40 -0000 1.14 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/util/ChatConstants.java 17 May 2011 02:21:54 -0000 1.15 @@ -57,10 +57,18 @@ public static final String USER_MESSAGES_DEFINITION_NAME = "user.messages.output.definition.chat"; public static final String USER_MESSAGES_DEFAULT_CONDITION_DISPLAY_NAME_KEY = "user.messages.output.definition.chat.default.condition"; public static final String ALL_USERS_MESSAGES_DEFINITION_NAME = "all.users.messages.output.definition.chat"; + 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"; + public static final String SUCCESS = "success"; 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"; - - public static final String MESSAGE_SEPARATOR = "

"; + public static final String MESSAGE_SEPARATOR = " "; + + /* 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.29 --- 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 17 May 2011 02:21:54 -0000 1.29 @@ -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; @@ -147,6 +149,30 @@ return mapping.findForward("runOffline"); } + /* 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"); + + } + + } + + + return mapping.findForward("learning"); } 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.23 --- 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 17 May 2011 02:21:54 -0000 1.23 @@ -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; @@ -49,6 +52,7 @@ 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 +100,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 +234,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.17 -r1.18 --- lams_tool_chat/web/pages/learning/learning.jsp 13 Nov 2009 03:13:48 -0000 1.17 +++ lams_tool_chat/web/pages/learning/learning.jsp 17 May 2011 02:21:54 -0000 1.18 @@ -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.8 --- 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 17 May 2011 02:21:54 -0000 1.8 @@ -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.22 --- 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 17 May 2011 02:21:54 -0000 1.22 @@ -1,7 +1,91 @@ <%@ include file="/common/taglibs.jsp"%> - + + + -

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

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