Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -rb036e6dd6d2afe9c0e0b9143c9be3af1d53a1e0e -r5fb9d3a732e1f9c643f4c6023e29b25cd2287988 Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/comments/web/CommentAction.java =================================================================== diff -u -r654c98e30631f9b0cb5bd4ebab7d82b2cfb8e384 -r5fb9d3a732e1f9c643f4c6023e29b25cd2287988 --- lams_central/src/java/org/lamsfoundation/lams/comments/web/CommentAction.java (.../CommentAction.java) (revision 654c98e30631f9b0cb5bd4ebab7d82b2cfb8e384) +++ lams_central/src/java/org/lamsfoundation/lams/comments/web/CommentAction.java (.../CommentAction.java) (revision 5fb9d3a732e1f9c643f4c6023e29b25cd2287988) @@ -389,15 +389,17 @@ commentService = getCommentService(); User user = getCurrentUser(request); - if (!learnerInToolSession(externalId, user) && !monitorInToolSession(externalId, user, sessionMap)) { + ToolAccessMode mode = WebUtil.getToolAccessMode((String) sessionMap.get(AttributeNames.ATTR_MODE)); + boolean isMonitor = ToolAccessMode.TEACHER.equals(mode) && monitorInToolSession(externalId, user, sessionMap); + if (!isMonitor && !learnerInToolSession(externalId, user) ) { throwException("New comment: User does not have the rights to access the comments. ", user.getLogin(), externalId, externalType, externalSignature); } Comment rootSeq = commentService.getRoot(externalId, externalType, externalSignature); // save message into database - Comment newComment = commentService.createReply(rootSeq, commentText, user); + Comment newComment = commentService.createReply(rootSeq, commentText, user, isMonitor); JSONObject = new JSONObject(); JSONObject.put(CommentConstants.ATTR_COMMENT_ID, newComment.getUid()); @@ -455,15 +457,16 @@ } else { - commentService = getCommentService(); User user = getCurrentUser(request); - if (!learnerInToolSession(externalId, user) && !monitorInToolSession(externalId, user, sessionMap)) { + ToolAccessMode mode = WebUtil.getToolAccessMode((String) sessionMap.get(AttributeNames.ATTR_MODE)); + boolean isMonitor = ToolAccessMode.TEACHER.equals(mode) && monitorInToolSession(externalId, user, sessionMap); + if (!isMonitor && !learnerInToolSession(externalId, user) ) { throwException("New comment: User does not have the rights to access the comments. ", user.getLogin(), externalId, externalType, externalSignature); } // save message into database - Comment newComment = commentService.createReply(parentId, commentText.trim(), user); + Comment newComment = commentService.createReply(parentId, commentText.trim(), user, isMonitor); JSONObject = new JSONObject(); JSONObject.put(CommentConstants.ATTR_COMMENT_ID, newComment.getUid()); Index: lams_central/web/comments/comments.jsp =================================================================== diff -u -r8db199a300d8f5c1b477c927cd74e111af4aecb9 -r5fb9d3a732e1f9c643f4c6023e29b25cd2287988 --- lams_central/web/comments/comments.jsp (.../comments.jsp) (revision 8db199a300d8f5c1b477c927cd74e111af4aecb9) +++ lams_central/web/comments/comments.jsp (.../comments.jsp) (revision 5fb9d3a732e1f9c643f4c6023e29b25cd2287988) @@ -70,7 +70,7 @@ -
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/comments/Comment.hbm.xml
===================================================================
diff -u -r11360fc3bf2b7ed6ea197873e1b67dbf87d64d33 -r5fb9d3a732e1f9c643f4c6023e29b25cd2287988
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/comments/Comment.hbm.xml (.../Comment.hbm.xml) (revision 11360fc3bf2b7ed6ea197873e1b67dbf87d64d33)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/comments/Comment.hbm.xml (.../Comment.hbm.xml) (revision 5fb9d3a732e1f9c643f4c6023e29b25cd2287988)
@@ -145,6 +145,14 @@
column="sticky"
/>
+ |