Files
NodeBB/src/controllers/admin/privileges.js

40 lines
943 B
JavaScript
Raw Normal View History

2017-12-18 15:43:57 -05:00
'use strict';
var async = require('async');
var categories = require('../../categories');
var privileges = require('../../privileges');
var privilegesController = module.exports;
privilegesController.get = function (req, res, callback) {
2017-12-20 14:49:20 -05:00
var cid = req.params.cid ? req.params.cid : 0;
2017-12-18 15:43:57 -05:00
async.waterfall([
function (next) {
async.parallel({
2017-12-20 14:49:20 -05:00
privileges: function (next) {
2017-12-20 15:19:22 -05:00
if (!cid) {
2017-12-20 14:49:20 -05:00
privileges.global.list(next);
} else {
privileges.categories.list(cid, next);
}
},
2017-12-18 15:43:57 -05:00
allCategories: async.apply(categories.buildForSelect, req.uid, 'read'),
}, next);
},
function (data) {
2017-12-20 14:49:20 -05:00
data.allCategories.forEach(function (category) {
if (category) {
category.selected = parseInt(category.cid, 10) === parseInt(cid, 10);
}
});
2017-12-18 15:43:57 -05:00
res.render('admin/manage/privileges', {
privileges: data.privileges,
allCategories: data.allCategories,
2017-12-20 14:49:20 -05:00
cid: cid,
2017-12-18 15:43:57 -05:00
});
},
], callback);
};