From 5b45b2f72c2d9cab6b57fc29a858c14b7a7aa4cf Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Fri, 31 Aug 2018 11:47:56 -0400 Subject: [PATCH] closes #6729 --- src/groups/membership.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/groups/membership.js b/src/groups/membership.js index 09e86e12f6..1f6cc7af14 100644 --- a/src/groups/membership.js +++ b/src/groups/membership.js @@ -105,7 +105,7 @@ module.exports = function (Groups) { return callback(err); } - user.setUserField(uid, 'groupTitle', groupName, callback); + user.setUserField(uid, 'groupTitle', JSON.stringify([groupName]), callback); }); } @@ -294,13 +294,17 @@ module.exports = function (Groups) { } async.waterfall([ function (next) { - db.getObjectField('user:' + uid, 'groupTitle', next); + user.getUserData(uid, next); }, - function (groupTitle, next) { - if (groupNames.includes(groupTitle)) { - db.deleteObjectField('user:' + uid, 'groupTitle', next); + function (userData, next) { + var newTitleArray = userData.groupTitleArray.filter(function (groupTitle) { + return !groupNames.includes(groupTitle); + }); + + if (newTitleArray.length) { + db.setObjectField('user:' + uid, 'groupTitle', JSON.stringify(newTitleArray), next); } else { - next(); + db.deleteObjectField('user:' + uid, 'groupTitle', next); } }, ], callback);