Index: lams_tool_forum/conf/xdoclet/struts-actions.xml
===================================================================
diff -u -r0762d2ed47bda6daf6a2ae4eca9b3409b7c3b3ea -raafe5d45599dbc368a2b719ac0160fb95f932fe2
--- lams_tool_forum/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 0762d2ed47bda6daf6a2ae4eca9b3409b7c3b3ea)
+++ lams_tool_forum/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision aafe5d45599dbc368a2b719ac0160fb95f932fe2)
@@ -377,7 +377,7 @@
validate="false"
parameter="updateMark" >
-
+
messageList = forumService.getMessagesByUserUid(user.getUid(), sessionId);
Map> topicMap = new TreeMap(this.new ForumUserComparator());
topicMap.put(user, messageList);
request.setAttribute(ForumConstants.ATTR_REPORT, topicMap);
//listMark or listAllMark.
return mapping.findForward("success");
+
} else { //mark from view forum
- return mapping.findForward("viewTopic");
+ //display root topic rather than leaf one
+ Long rootTopicId = forumService.getRootTopicId(msg.getUid());
+
+ ForwardConfig redirectConfig = mapping.findForwardConfig("viewTopic");
+ ActionRedirect redirect = new ActionRedirect(redirectConfig);
+ redirect.addParameter(ForumConstants.ATTR_SESSION_MAP_ID, markForm.getSessionMapID());
+ redirect.addParameter(ForumConstants.ATTR_USER, user);
+ redirect.addParameter(ForumConstants.ATTR_TOPIC_ID, rootTopicId);
+ return redirect;
}
}