From 4acb3fb210a9465b90b35f0ecb7b7fc2101afbcd Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 9 Jun 2020 10:06:37 -0400 Subject: [PATCH] feat: #8387 expose global and admin privs to flags detail page --- src/controllers/mods.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/controllers/mods.js b/src/controllers/mods.js index 2911881bf5..b5b83d0f20 100644 --- a/src/controllers/mods.js +++ b/src/controllers/mods.js @@ -10,6 +10,7 @@ const flags = require('../flags'); const analytics = require('../analytics'); const plugins = require('../plugins'); const pagination = require('../pagination'); +const privileges = require('../privileges'); const utils = require('../utils'); const modsController = module.exports; @@ -103,7 +104,9 @@ modsController.flags.detail = async function (req, res, next) { flagData: flags.get(req.params.flagId), assignees: user.getAdminsandGlobalModsandModerators(), categories: categories.buildForSelect(req.uid, 'read'), + privileges: Promise.all(['global', 'admin'].map(async type => privileges[type].get(req.uid))), }); + results.privileges = { ...results.privileges[0], ...results.privileges[1] }; if (!results.flagData) { return next(new Error('[[error:invalid-data]]')); @@ -137,6 +140,7 @@ modsController.flags.detail = async function (req, res, next) { title: '[[pages:flag-details, ' + req.params.flagId + ']]', categories: results.categories, filters: req.session.flags_filters || [], + privileges: results.privileges, })); };