fix(chat): #5864 API should return flagged messages in chat only to mods
This commit is contained in:
@@ -149,6 +149,10 @@ api.get = function(req, res, next) {
|
||||
// so that users with no party don't get a 404 on every access to the site
|
||||
return res.json(group);
|
||||
}
|
||||
//Remove flagged messages if the user is not mod
|
||||
if (!user.contributor.admin) {
|
||||
group.chat = _.filter(group.chat, function(message) { return !message.flagCount || message.flagCount < 2; });
|
||||
}
|
||||
//Since we have a limit on how many members are populate to the group, we want to make sure the user is always in the group
|
||||
var userInGroup = _.find(group.members, function(member){ return member._id == user._id; });
|
||||
//If the group is private or the group is a party, then the user must be a member of the group based on access restrictions above
|
||||
@@ -271,6 +275,10 @@ api.getChat = function(req, res, next) {
|
||||
q.exec(function(err, group){
|
||||
if (err) return next(err);
|
||||
if (!group && gid!=='party') return res.json(404,{err: "Group not found or you don't have access."});
|
||||
//Remove flagged messages if the user is not mod
|
||||
if (!user.contributor.admin) {
|
||||
group.chat = _.filter(group.chat, function(message) { return !message.flagCount || message.flagCount < 2; });
|
||||
}
|
||||
res.json(res.locals.group.chat);
|
||||
gid = null;
|
||||
});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
mixin chatMessages(inbox)
|
||||
ul.list-unstyled.tavern-chat
|
||||
- var ngRepeat = inbox ? 'message in user.inbox.messages | toArray:true | orderBy:"sort":true' : 'message in group.chat track by message.id'
|
||||
li.chat-message(ng-repeat=ngRepeat, ng-class=':: {highlight: isUserMentioned(user,message) || message.uuid=="system", "own-message": user._id == message.uuid}', ng-if="!message.flagCount || message.flagCount < 2 || user.contributor.admin")
|
||||
li.chat-message(ng-repeat=ngRepeat, ng-class=':: {highlight: isUserMentioned(user,message) || message.uuid=="system", "own-message": user._id == message.uuid}')
|
||||
span.pull-right.text-danger(ng-if="user.contributor.admin && message.flagCount > 0")
|
||||
| {{message.flagCount > 1 ? "Message Hidden" : "1 flag"}}
|
||||
.scrollable-message(ng-class='{"transparent": message.sent || message.flags[user._id] || (user.contributor.admin && message.flagCount > 1)}')
|
||||
|
||||
Reference in New Issue
Block a user