From 7b194c69165489d21b1a83bbab03f5bcd770d4a5 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 3 Dec 2025 12:14:05 -0500 Subject: [PATCH] fix: admin privilege overrides only apply to local categories --- src/privileges/categories.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/privileges/categories.js b/src/privileges/categories.js index 3efa1e2413..0e48b37c90 100644 --- a/src/privileges/categories.js +++ b/src/privileges/categories.js @@ -96,14 +96,16 @@ privsCategories.get = async function (cid, uid) { 'topics:tag', 'read', 'posts:view_deleted', ]; - const [userPrivileges, isAdministrator, isModerator] = await Promise.all([ + let [userPrivileges, isAdministrator, isModerator] = await Promise.all([ helpers.isAllowedTo(privs, uid, cid), user.isAdministrator(uid), user.isModerator(uid, cid), ]); - const combined = userPrivileges.map(allowed => allowed || isAdministrator); - const privData = _.zipObject(privs, combined); + if (utils.isNumber(cid)) { + userPrivileges = userPrivileges.map(allowed => allowed || isAdministrator); + } + const privData = _.zipObject(privs, userPrivileges); const isAdminOrMod = isAdministrator || isModerator; return await plugins.hooks.fire('filter:privileges.categories.get', {