mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-05 21:45:47 +01:00
fix: don't show blocked users under nested replies
This commit is contained in:
@@ -239,7 +239,8 @@ module.exports = function (Topics) {
|
|||||||
|
|
||||||
const uniquePids = _.uniq(_.flatten(arrayOfReplyPids));
|
const uniquePids = _.uniq(_.flatten(arrayOfReplyPids));
|
||||||
|
|
||||||
const replyData = await posts.getPostsFields(uniquePids, ['pid', 'uid', 'timestamp']);
|
let replyData = await posts.getPostsFields(uniquePids, ['pid', 'uid', 'timestamp']);
|
||||||
|
replyData = await user.blocks.filter(callerUid, replyData);
|
||||||
|
|
||||||
const uids = replyData.map(replyData => replyData && replyData.uid);
|
const uids = replyData.map(replyData => replyData && replyData.uid);
|
||||||
|
|
||||||
@@ -247,12 +248,13 @@ module.exports = function (Topics) {
|
|||||||
|
|
||||||
const userData = await user.getUsersWithFields(uniqueUids, ['uid', 'username', 'userslug', 'picture'], callerUid);
|
const userData = await user.getUsersWithFields(uniqueUids, ['uid', 'username', 'userslug', 'picture'], callerUid);
|
||||||
|
|
||||||
var uidMap = _.zipObject(uniqueUids, userData);
|
const uidMap = _.zipObject(uniqueUids, userData);
|
||||||
var pidMap = _.zipObject(uniquePids, replyData);
|
const pidMap = _.zipObject(replyData.map(r => r.pid), replyData);
|
||||||
|
|
||||||
var returnData = arrayOfReplyPids.map(function (replyPids) {
|
const returnData = arrayOfReplyPids.map(function (replyPids) {
|
||||||
var uidsUsed = {};
|
replyPids = replyPids.filter(pid => pidMap[pid]);
|
||||||
var currentData = {
|
const uidsUsed = {};
|
||||||
|
const currentData = {
|
||||||
hasMore: false,
|
hasMore: false,
|
||||||
users: [],
|
users: [],
|
||||||
text: replyPids.length > 1 ? '[[topic:replies_to_this_post, ' + replyPids.length + ']]' : '[[topic:one_reply_to_this_post]]',
|
text: replyPids.length > 1 ? '[[topic:replies_to_this_post, ' + replyPids.length + ']]' : '[[topic:one_reply_to_this_post]]',
|
||||||
@@ -263,7 +265,7 @@ module.exports = function (Topics) {
|
|||||||
replyPids.sort((a, b) => parseInt(a, 10) - parseInt(b, 10));
|
replyPids.sort((a, b) => parseInt(a, 10) - parseInt(b, 10));
|
||||||
|
|
||||||
replyPids.forEach(function (replyPid) {
|
replyPids.forEach(function (replyPid) {
|
||||||
var replyData = pidMap[replyPid];
|
const replyData = pidMap[replyPid];
|
||||||
if (!uidsUsed[replyData.uid] && currentData.users.length < 6) {
|
if (!uidsUsed[replyData.uid] && currentData.users.length < 6) {
|
||||||
currentData.users.push(uidMap[replyData.uid]);
|
currentData.users.push(uidMap[replyData.uid]);
|
||||||
uidsUsed[replyData.uid] = true;
|
uidsUsed[replyData.uid] = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user