fixed bug where privilege state was not correctly calculated for MongoDB installs, and fixed columnCount not being present when a the privilege list is refreshed

v1.18.x
Julian Lam 10 years ago
parent d27ec057c5
commit 89442c91c6

@ -136,8 +136,6 @@ adminController.categories.get = function(req, res, next) {
return next(err);
}
data.privileges.columnCount = data.privileges.labels.users.length + 2;
res.render('admin/manage/category', {
category: data.category[0],
privileges: data.privileges

@ -44,7 +44,17 @@ module.exports = function(privileges) {
privileges = privs;
groups.getMembersOfGroups(privs.map(function(privilege) {
return 'cid:' + cid + ':privileges:' + privilege;
}), next);
}), function(err, memberSets) {
if (err) {
return next(err);
}
next(null, memberSets.map(function(set) {
return set.map(function(uid) {
return parseInt(uid, 10);
});
}));
});
},
function(memberSets, next) {
// Reduce into a single array
@ -58,7 +68,7 @@ module.exports = function(privileges) {
memberData = memberData.map(function(member) {
member.privileges = {};
for(var x=0,numPrivs=privileges.length;x<numPrivs;x++) {
member.privileges[privileges[x]] = memberSets[x].indexOf(member.uid) !== -1;
member.privileges[privileges[x]] = memberSets[x].indexOf(parseInt(member.uid, 10)) !== -1;
}
return member;
@ -110,7 +120,16 @@ module.exports = function(privileges) {
}
], next);
}
}, callback);
}, function(err, payload) {
if (err) {
return callback(err);
}
// This is a hack because I can't do {labels.users.length} to echo the count in templates.js
payload.columnCount = payload.labels.users.length + 2;
callback(null, payload);
});
};
privileges.categories.get = function(cid, uid, callback) {

Loading…
Cancel
Save