diff --git a/website/src/controllers/groups.js b/website/src/controllers/groups.js index 573142887c..391a16c15e 100644 --- a/website/src/controllers/groups.js +++ b/website/src/controllers/groups.js @@ -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; }); diff --git a/website/views/options/social/chat-message.jade b/website/views/options/social/chat-message.jade index 9404665ebe..de63f5cd98 100644 --- a/website/views/options/social/chat-message.jade +++ b/website/views/options/social/chat-message.jade @@ -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)}')