Index: lams_tool_forum/conf/xdoclet/struts-actions.xml =================================================================== diff -u -r2695d54e0cc9d34939b0e227d0f7e163360a6d1e -red34ad93e720126f7473b282585c411c8acf7dbe --- lams_tool_forum/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 2695d54e0cc9d34939b0e227d0f7e163360a6d1e) +++ lams_tool_forum/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision ed34ad93e720126f7473b282585c411c8acf7dbe) @@ -5,6 +5,7 @@ scope="session" validate="false" parameter="defineLater"> + Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java =================================================================== diff -u -r6852794f79069c9b70ee194f74677323d0bf14b7 -red34ad93e720126f7473b282585c411c8acf7dbe --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java (.../ForumConstants.java) (revision 6852794f79069c9b70ee194f74677323d0bf14b7) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java (.../ForumConstants.java) (revision ed34ad93e720126f7473b282585c411c8acf7dbe) @@ -70,10 +70,6 @@ public static final String MESSAGE_UID = "messageID"; - public static final String MODE = "mode"; - public static final String AUTHOR_MODE = "author_mode"; - public static final String MONITOR_MODE = "monitor_mode"; - public static final String FINISHEDLOCK = "finishedLock"; // used in monitoring Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/AuthoringAction.java =================================================================== diff -u -r2695d54e0cc9d34939b0e227d0f7e163360a6d1e -red34ad93e720126f7473b282585c411c8acf7dbe --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/AuthoringAction.java (.../AuthoringAction.java) (revision 2695d54e0cc9d34939b0e227d0f7e163360a6d1e) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/AuthoringAction.java (.../AuthoringAction.java) (revision ed34ad93e720126f7473b282585c411c8acf7dbe) @@ -61,6 +61,7 @@ import org.lamsfoundation.lams.tool.forum.service.IForumService; import org.lamsfoundation.lams.tool.forum.util.DateComparator; import org.lamsfoundation.lams.tool.forum.util.ForumConstants; +import org.lamsfoundation.lams.tool.forum.util.ForumWebUtils; import org.lamsfoundation.lams.tool.forum.web.forms.ForumForm; import org.lamsfoundation.lams.tool.forum.web.forms.MessageForm; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; @@ -90,7 +91,23 @@ // ***************** Monitoring define later screen ******************** if (param.equals("defineLater")){ + //update define later flag to true request.getSession().setAttribute(AttributeNames.ATTR_MODE,ToolAccessMode.TEACHER); + forumService = getForumManager(); + Long contentId = new Long(WebUtil.readLongParam(request,AttributeNames.PARAM_TOOL_CONTENT_ID)); + Forum forum = forumService.getForumByContentId(contentId); + + boolean isForumEditable = ForumWebUtils.isForumEditable(forum); + if(!isForumEditable){ + request.setAttribute(ForumConstants.PAGE_EDITABLE, new Boolean(isForumEditable)); + return mapping.findForward("forbidden"); + } + + if(!forum.isContentInUse()){ + forum.setDefineLater(true); + forumService.updateForum(forum); + } + return initPage(mapping, form, request, response); } if (param.equals("updateContent")) { @@ -154,6 +171,7 @@ protected ActionForward initPage(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { + ToolAccessMode mode = (ToolAccessMode) request.getSession().getAttribute(AttributeNames.ATTR_MODE); Long contentId = new Long(WebUtil.readLongParam(request,AttributeNames.PARAM_TOOL_CONTENT_ID)); ForumForm forumForm = (ForumForm)form; //get back the topic list and display them on page @@ -177,8 +195,9 @@ topics = new ArrayList(map.values()); }else topics = null; - }else + }else{ topics = forumService.getAuthoredTopics(forum.getUid()); + } //initialize attachmentList List attachmentList = getAttachmentList(request); attachmentList.addAll(forum.getAttachments()); @@ -250,6 +269,7 @@ // if it is Teacher, then just update basic tab content (definelater) forumPO.setInstructions(forum.getInstructions()); forumPO.setTitle(forum.getTitle()); + forumPO.setDefineLater(false); } } forumPO.setCreatedBy(forumUser); Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/ClearSessionAction.java =================================================================== diff -u -rb9a105856c81f49b60f18e80bf9ee1bc7913f390 -red34ad93e720126f7473b282585c411c8acf7dbe --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/ClearSessionAction.java (.../ClearSessionAction.java) (revision b9a105856c81f49b60f18e80bf9ee1bc7913f390) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/ClearSessionAction.java (.../ClearSessionAction.java) (revision ed34ad93e720126f7473b282585c411c8acf7dbe) @@ -29,6 +29,7 @@ import org.lamsfoundation.lams.authoring.web.LamsAuthoringFinishAction; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.forum.util.ForumConstants; +import org.lamsfoundation.lams.web.util.AttributeNames; /** * This class give a chance to clear HttpSession when user save/close authoring page. @@ -41,7 +42,7 @@ @Override public void clearSession(HttpSession session, ToolAccessMode mode) { if(mode.isAuthor()){ - session.removeAttribute(ForumConstants.MODE); + session.removeAttribute(AttributeNames.ATTR_MODE); session.removeAttribute(ForumConstants.AUTHORING_TOPICS_LIST); session.removeAttribute(ForumConstants.ATTACHMENT_LIST); session.removeAttribute(ForumConstants.DELETED_ATTACHMENT_LIST); Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java =================================================================== diff -u -r6852794f79069c9b70ee194f74677323d0bf14b7 -red34ad93e720126f7473b282585c411c8acf7dbe --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java (.../LearningAction.java) (revision 6852794f79069c9b70ee194f74677323d0bf14b7) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java (.../LearningAction.java) (revision ed34ad93e720126f7473b282585c411c8acf7dbe) @@ -470,7 +470,7 @@ MessageForm messageForm = (MessageForm) form; Message message = messageForm.getMessage(); - boolean makeAuditEntry = ToolAccessMode.TEACHER.equals((ToolAccessMode) request.getSession().getAttribute(ForumConstants.MODE)); + boolean makeAuditEntry = ToolAccessMode.TEACHER.equals((ToolAccessMode) request.getSession().getAttribute(AttributeNames.ATTR_MODE)); String oldMessageString = null; // get PO from database and sync with Form @@ -571,7 +571,7 @@ forumService = getForumManager(); forumService.deleteFromRepository(uuID, versionID); - boolean makeAuditEntry = ToolAccessMode.TEACHER.equals((ToolAccessMode) request.getSession().getAttribute(ForumConstants.MODE)); + boolean makeAuditEntry = ToolAccessMode.TEACHER.equals((ToolAccessMode) request.getSession().getAttribute(AttributeNames.ATTR_MODE)); String oldMessageString = null; // get value from HttpSession Index: lams_tool_forum/web/WEB-INF/struts-config.xml =================================================================== diff -u -r2695d54e0cc9d34939b0e227d0f7e163360a6d1e -red34ad93e720126f7473b282585c411c8acf7dbe --- lams_tool_forum/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 2695d54e0cc9d34939b0e227d0f7e163360a6d1e) +++ lams_tool_forum/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision ed34ad93e720126f7473b282585c411c8acf7dbe) @@ -54,6 +54,7 @@ scope="session" validate="false" parameter="defineLater"> + Index: lams_tool_forum/web/WEB-INF/struts/tiles-defs.xml =================================================================== diff -u -r6852794f79069c9b70ee194f74677323d0bf14b7 -red34ad93e720126f7473b282585c411c8acf7dbe --- lams_tool_forum/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision 6852794f79069c9b70ee194f74677323d0bf14b7) +++ lams_tool_forum/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision ed34ad93e720126f7473b282585c411c8acf7dbe) @@ -102,6 +102,11 @@ + + + + + Index: lams_tool_forum/web/jsps/authoring/definelater.jsp =================================================================== diff -u -r71a37d456ee2d1d277774c125ac645ef7f06fa00 -red34ad93e720126f7473b282585c411c8acf7dbe --- lams_tool_forum/web/jsps/authoring/definelater.jsp (.../definelater.jsp) (revision 71a37d456ee2d1d277774c125ac645ef7f06fa00) +++ lams_tool_forum/web/jsps/authoring/definelater.jsp (.../definelater.jsp) (revision ed34ad93e720126f7473b282585c411c8acf7dbe) @@ -1,4 +1,4 @@ -<%@ include file="/includes/taglibs.jsp"%> +<%@ include file="/common/taglibs.jsp"%> <%@ page import="org.lamsfoundation.lams.tool.forum.util.ForumConstants"%> <%@ page import="java.util.HashSet"%> <%@ page import="java.util.Set"%> Index: lams_tool_forum/web/jsps/authoring/definelaterforbid.jsp =================================================================== diff -u --- lams_tool_forum/web/jsps/authoring/definelaterforbid.jsp (revision 0) +++ lams_tool_forum/web/jsps/authoring/definelaterforbid.jsp (revision ed34ad93e720126f7473b282585c411c8acf7dbe) @@ -0,0 +1,4 @@ +<%@ include file="/common/taglibs.jsp"%> +
+ +