From 292e4bbdd6a75476c0c095005d0f3e82b11591f6 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 15 May 2014 07:48:21 -0400 Subject: [PATCH] fixed post privilege privilege --- src/privileges/helpers.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/privileges/helpers.js b/src/privileges/helpers.js index f57fcc73fd..1739fccba3 100644 --- a/src/privileges/helpers.js +++ b/src/privileges/helpers.js @@ -22,28 +22,29 @@ helpers.allowedTo = function(privilege, uid, cid, callback) { async.parallel({ hasUserPrivilege: function(next) { - hasPrivilege(groups.isMember, 'cid:' + cid + ':privileges:' + privilege, uid, next); + isMember(groups.isMember, 'cid:' + cid + ':privileges:' + privilege, uid, next); }, hasGroupPrivilege: function(next) { - hasPrivilege(groups.isMemberOfGroupList, 'cid:' + cid + ':privileges:groups:' + privilege, uid, next); + isMember(groups.isMemberOfGroupList, 'cid:' + cid + ':privileges:groups:' + privilege, uid, next); }, }, function(err, results) { if (err) { return callback(err); } - callback(null, results.hasUserPrivilege && results.hasGroupPrivilege); + + callback(null, (results.hasUserPrivilege === null && results.hasGroupPrivilege === null) || results.hasUserPrivilege || results.hasGroupPrivilege); }); }); }; -function hasPrivilege(method, group, uid, callback) { +function isMember(method, group, uid, callback) { groups.exists(group, function(err, exists) { if (err) { return callback(err); } if (!exists) { - return callback(null, true); + return callback(null, null); } method(group, uid, callback);