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 @@ -
+
<%@ include file="allview.jsp"%>
Index: lams_central/web/comments/msgview.jsp =================================================================== diff -u -r4d25bf1ae75802b8f1cce1d60fb29ce90dcb3e5d -r5fb9d3a732e1f9c643f4c6023e29b25cd2287988 --- lams_central/web/comments/msgview.jsp (.../msgview.jsp) (revision 4d25bf1ae75802b8f1cce1d60fb29ce90dcb3e5d) +++ lams_central/web/comments/msgview.jsp (.../msgview.jsp) (revision 5fb9d3a732e1f9c643f4c6023e29b25cd2287988) @@ -10,6 +10,7 @@ + @@ -21,7 +22,7 @@
-
px;"> +

@@ -33,25 +34,37 @@ + + + + + + + + + + - - + + + - - + + + - - + - | ()

-
+
Index: lams_central/web/comments/topicview.jsp =================================================================== diff -u -r4d25bf1ae75802b8f1cce1d60fb29ce90dcb3e5d -r5fb9d3a732e1f9c643f4c6023e29b25cd2287988 --- lams_central/web/comments/topicview.jsp (.../topicview.jsp) (revision 4d25bf1ae75802b8f1cce1d60fb29ce90dcb3e5d) +++ lams_central/web/comments/topicview.jsp (.../topicview.jsp) (revision 5fb9d3a732e1f9c643f4c6023e29b25cd2287988) @@ -153,6 +153,8 @@ + + <%-- same test & command appears at bottom of script --%> @@ -165,7 +167,6 @@
-
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" /> + + Index: lams_common/src/java/org/lamsfoundation/lams/comments/Comment.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r5fb9d3a732e1f9c643f4c6023e29b25cd2287988 --- lams_common/src/java/org/lamsfoundation/lams/comments/Comment.java (.../Comment.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_common/src/java/org/lamsfoundation/lams/comments/Comment.java (.../Comment.java) (revision 5fb9d3a732e1f9c643f4c6023e29b25cd2287988) @@ -53,6 +53,7 @@ private int replyNumber; private boolean hideFlag; private boolean sticky; + private boolean monitor; private Comment rootComment; private Comment threadComment; @@ -246,6 +247,14 @@ this.vote = vote; } + public boolean isMonitor() { + return monitor; + } + + public void setMonitor(boolean monitor) { + this.monitor = monitor; + } + @Override public String toString() { return new ToStringBuilder(this).append("uid", uid).append("body", body).toString(); Index: lams_common/src/java/org/lamsfoundation/lams/comments/service/CommentService.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r5fb9d3a732e1f9c643f4c6023e29b25cd2287988 --- lams_common/src/java/org/lamsfoundation/lams/comments/service/CommentService.java (.../CommentService.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_common/src/java/org/lamsfoundation/lams/comments/service/CommentService.java (.../CommentService.java) (revision 5fb9d3a732e1f9c643f4c6023e29b25cd2287988) @@ -150,12 +150,13 @@ } @Override - public Comment createReply(Comment parent, String replyText, User user) { + public Comment createReply(Comment parent, String replyText, User user, boolean isMonitor) { Comment replyMessage = new Comment(); replyMessage.setBody(replyText); replyMessage.setHideFlag(false); replyMessage.updateModificationData(user); + replyMessage.setMonitor(isMonitor); replyMessage.setParent(parent); replyMessage.setSession(parent.getSession()); @@ -202,10 +203,10 @@ } @Override - public Comment createReply(Long parentId, String replyText, User user) { + public Comment createReply(Long parentId, String replyText, User user, boolean isMonitor) { Comment parent = commentDAO.getById(parentId); - return (createReply(parent, replyText, user)); + return (createReply(parent, replyText, user, isMonitor)); } Index: lams_common/src/java/org/lamsfoundation/lams/comments/service/ICommentService.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r5fb9d3a732e1f9c643f4c6023e29b25cd2287988 --- lams_common/src/java/org/lamsfoundation/lams/comments/service/ICommentService.java (.../ICommentService.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_common/src/java/org/lamsfoundation/lams/comments/service/ICommentService.java (.../ICommentService.java) (revision 5fb9d3a732e1f9c643f4c6023e29b25cd2287988) @@ -47,9 +47,9 @@ Integer sortBy, String extraSortParam, Integer userId); /** Saves a comment - either creating a whole tree one if there is no parent or saving under the given parent. */ - Comment createReply(Long parentId, String replyText, User user); + Comment createReply(Long parentId, String replyText, User user, boolean isMonitor); - Comment createReply(Comment parent, String replyText, User user); + Comment createReply(Comment parent, String replyText, User user, boolean isMonitor); /** Gets the dummy root for the comment system and if one doesn't exist for this session then set it up! */ Comment createOrGetRoot(Long externalId, Integer externalIdType, String externalSignature, User user); Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch2040080.sql =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch2040080.sql (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch2040080.sql (revision 5fb9d3a732e1f9c643f4c6023e29b25cd2287988) @@ -0,0 +1,10 @@ +SET AUTOCOMMIT = 0; +set FOREIGN_KEY_CHECKS = 0; + +-- LDEV-4145 Comments to have different background when posted via Monitor UI +ALTER TABLE lams_comment +ADD COLUMN monitor SMALLINT(6) NULL DEFAULT 0; + +COMMIT; +SET AUTOCOMMIT = 1; +set FOREIGN_KEY_CHECKS = 1;