mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 19:46:01 +01:00
group titles
This commit is contained in:
@@ -83,11 +83,13 @@ define('forum/admin/groups', function() {
|
||||
var formEl = detailsModal.find('form'),
|
||||
nameEl = formEl.find('#change-group-name'),
|
||||
descEl = formEl.find('#change-group-desc'),
|
||||
userTitleEl = formEl.find('#change-group-user-title'),
|
||||
numMembers = groupObj.members.length,
|
||||
x;
|
||||
|
||||
nameEl.val(groupObj.name);
|
||||
descEl.val(groupObj.description);
|
||||
userTitleEl.val(groupObj.userTitle);
|
||||
|
||||
if (numMembers > 0) {
|
||||
groupMembersEl.empty();
|
||||
@@ -191,12 +193,14 @@ define('forum/admin/groups', function() {
|
||||
var formEl = detailsModal.find('form'),
|
||||
nameEl = formEl.find('#change-group-name'),
|
||||
descEl = formEl.find('#change-group-desc'),
|
||||
userTitleEl = formEl.find('#change-group-user-title'),
|
||||
groupName = detailsModal.attr('data-groupname');
|
||||
|
||||
socket.emit('admin.groups.update', {
|
||||
groupName: groupName,
|
||||
values: {
|
||||
name: nameEl.val(),
|
||||
userTitle: userTitleEl.val(),
|
||||
description: descEl.val()
|
||||
}
|
||||
}, function(err) {
|
||||
|
||||
@@ -184,6 +184,9 @@ adminController.groups.get = function(req, res, next) {
|
||||
showSystemGroups: true,
|
||||
truncateUserList: true
|
||||
}, function(err, groups) {
|
||||
groups = groups.filter(function(group) {
|
||||
return group.name !== 'registered-users' && group.name !== 'guests';
|
||||
});
|
||||
res.render('admin/groups', {
|
||||
groups: groups,
|
||||
yourid: req.user.uid
|
||||
|
||||
@@ -221,21 +221,16 @@
|
||||
};
|
||||
|
||||
Groups.update = function(groupName, values, callback) {
|
||||
callback = callback || function() {};
|
||||
db.exists('group:' + groupName, function (err, exists) {
|
||||
if (!err && exists) {
|
||||
// If the group was renamed, check for dupes
|
||||
if (!values.name) {
|
||||
db.setObject('group:' + groupName, values, callback);
|
||||
} else {
|
||||
if (callback) {
|
||||
callback(new Error('[[error:group-name-change-not-allowed]]'));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (callback) {
|
||||
callback(new Error('[[error:no-group]]'));
|
||||
}
|
||||
if (err || !exists) {
|
||||
return callback(err || new Error('[[error:no-group]]'));
|
||||
}
|
||||
|
||||
db.setObject('group:' + groupName, {
|
||||
userTitle: values.userTitle,
|
||||
description: values.description
|
||||
}, callback);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -321,5 +316,39 @@
|
||||
})
|
||||
})
|
||||
});
|
||||
};
|
||||
|
||||
Groups.getUserGroups = function(uid, callback) {
|
||||
var ignoredGroups = ['registered-users'];
|
||||
|
||||
db.getSetMembers('groups', function(err, groupNames) {
|
||||
var groupKeys = groupNames.filter(function(groupName) {
|
||||
return ignoredGroups.indexOf(groupName) === -1;
|
||||
}).map(function(groupName) {
|
||||
return 'group:' + groupName;
|
||||
});
|
||||
|
||||
db.getObjectsFields(groupKeys, ['name', 'hidden', 'userTitle'], function(err, groupData) {
|
||||
|
||||
groupData = groupData.filter(function(group) {
|
||||
return parseInt(group.hidden, 10) !== 1;
|
||||
});
|
||||
|
||||
var groupSets = groupData.map(function(group) {
|
||||
group.userTitle = group.userTitle || group.name;
|
||||
return 'group:' + group.name + ':members';
|
||||
})
|
||||
|
||||
db.isMemberOfSets(groupSets, uid, function(err, isMembers) {
|
||||
for(var i=isMembers.length - 1; i>=0; --i) {
|
||||
if (parseInt(isMembers[i], 10) !== 1) {
|
||||
groupData.splice(i, 1);
|
||||
}
|
||||
}
|
||||
|
||||
callback(null, groupData);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}(module.exports));
|
||||
|
||||
@@ -212,6 +212,9 @@ var async = require('async'),
|
||||
},
|
||||
customProfileInfo: function(next) {
|
||||
plugins.fireHook('filter:posts.custom_profile_info', {profile: [], uid: post.uid, pid: post.pid}, next);
|
||||
},
|
||||
groups: function(next) {
|
||||
groups.getUserGroups(post.uid, next);
|
||||
}
|
||||
}, function(err, results) {
|
||||
if (err) {
|
||||
|
||||
Reference in New Issue
Block a user