fix: #11362, regular mods are also subject to post queue [breaking]

isekai-main
Julian Lam 2 years ago
parent 7d831f0be3
commit c843984d57

@ -210,9 +210,15 @@ modsController.postQueue = async function (req, res, next) {
helpers.getSelectedCategory(cid), helpers.getSelectedCategory(cid),
]); ]);
postData = postData.filter(p => p && postData = postData
(!categoriesData.selectedCids.length || categoriesData.selectedCids.includes(p.category.cid)) && .filter(p => p &&
(isAdmin || isGlobalMod || moderatedCids.includes(Number(p.category.cid)) || req.uid === p.user.uid)); (!categoriesData.selectedCids.length || categoriesData.selectedCids.includes(p.category.cid)) &&
(isAdmin || isGlobalMod || moderatedCids.includes(Number(p.category.cid)) || req.uid === p.user.uid))
.map((post) => {
const isSelf = post.user.uid === req.uid;
post.canAccept = !isSelf && (isAdmin || isGlobalMod || !!moderatedCids.length);
return post;
});
({ posts: postData } = await plugins.hooks.fire('filter:post-queue.get', { ({ posts: postData } = await plugins.hooks.fire('filter:post-queue.get', {
posts: postData, posts: postData,
@ -232,7 +238,7 @@ modsController.postQueue = async function (req, res, next) {
title: '[[pages:post-queue]]', title: '[[pages:post-queue]]',
posts: postData, posts: postData,
isAdmin: isAdmin, isAdmin: isAdmin,
canAccept: isAdmin || isGlobalMod || !!moderatedCids.length, canAccept: isAdmin || isGlobalMod,
...categoriesData, ...categoriesData,
allCategoriesUrl: `post-queue${helpers.buildQueryString(req.query, 'cid', '')}`, allCategoriesUrl: `post-queue${helpers.buildQueryString(req.query, 'cid', '')}`,
pagination: pagination.create(page, pageCount), pagination: pagination.create(page, pageCount),

@ -102,7 +102,7 @@
</div> </div>
<div class="card-footer text-end"> <div class="card-footer text-end">
<div> <div>
{{{ if canAccept }}} {{{ if ./canAccept }}}
<button class="btn btn-danger btn-sm" data-action="reject"><i class="fa fa-fw fa-times"></i> [[post-queue:reject]]</button> <button class="btn btn-danger btn-sm" data-action="reject"><i class="fa fa-fw fa-times"></i> [[post-queue:reject]]</button>
<button class="btn btn-info btn-sm" data-action="notify"><i class="fa fa-fw fa-bell-o"></i> [[post-queue:notify]]</button> <button class="btn btn-info btn-sm" data-action="notify"><i class="fa fa-fw fa-bell-o"></i> [[post-queue:notify]]</button>
<button class="btn btn-success btn-sm" data-action="accept"><i class="fa fa-fw fa-check"></i> [[post-queue:accept]] </button> <button class="btn btn-success btn-sm" data-action="accept"><i class="fa fa-fw fa-check"></i> [[post-queue:accept]] </button>

Loading…
Cancel
Save