feat: #8387 expose global and admin privs to flags detail page

v1.18.x
Julian Lam 5 years ago
parent 2287963388
commit 4acb3fb210

@ -10,6 +10,7 @@ const flags = require('../flags');
const analytics = require('../analytics'); const analytics = require('../analytics');
const plugins = require('../plugins'); const plugins = require('../plugins');
const pagination = require('../pagination'); const pagination = require('../pagination');
const privileges = require('../privileges');
const utils = require('../utils'); const utils = require('../utils');
const modsController = module.exports; const modsController = module.exports;
@ -103,7 +104,9 @@ modsController.flags.detail = async function (req, res, next) {
flagData: flags.get(req.params.flagId), flagData: flags.get(req.params.flagId),
assignees: user.getAdminsandGlobalModsandModerators(), assignees: user.getAdminsandGlobalModsandModerators(),
categories: categories.buildForSelect(req.uid, 'read'), 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) { if (!results.flagData) {
return next(new Error('[[error:invalid-data]]')); 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 + ']]', title: '[[pages:flag-details, ' + req.params.flagId + ']]',
categories: results.categories, categories: results.categories,
filters: req.session.flags_filters || [], filters: req.session.flags_filters || [],
privileges: results.privileges,
})); }));
}; };

Loading…
Cancel
Save