group titles

v1.18.x
barisusakli 11 years ago
parent e8b89513d4
commit 3b1e373e7b

@ -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) {

Loading…
Cancel
Save