mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-09 07:25:46 +01:00
allow admins mods to watch/ignore categories for other users
This commit is contained in:
@@ -18,7 +18,7 @@ define('forum/account/categories', ['forum/account/header'], function (header) {
|
|||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
var command = $this.attr('component') === 'category/watching' ? 'watch' : 'ignore';
|
var command = $this.attr('component') === 'category/watching' ? 'watch' : 'ignore';
|
||||||
|
|
||||||
socket.emit('categories.' + command, cid, function (err, modified_cids) {
|
socket.emit('categories.' + command, { cid: cid, uid: ajaxify.data.uid }, function (err, modified_cids) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return app.alertError(err.message);
|
return app.alertError(err.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -174,9 +174,17 @@ SocketCategories.ignore = function (socket, cid, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function ignoreOrWatch(fn, socket, cid, callback) {
|
function ignoreOrWatch(fn, socket, cid, callback) {
|
||||||
|
var targetUid = socket.uid;
|
||||||
var cids = [parseInt(cid, 10)];
|
var cids = [parseInt(cid, 10)];
|
||||||
|
if (typeof cid === 'object') {
|
||||||
|
targetUid = cid.uid;
|
||||||
|
cids = [parseInt(cid.cid, 10)];
|
||||||
|
}
|
||||||
|
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
|
function (next) {
|
||||||
|
user.isAdminOrGlobalModOrSelf(socket.uid, targetUid, next);
|
||||||
|
},
|
||||||
function (next) {
|
function (next) {
|
||||||
db.getSortedSetRange('categories:cid', 0, -1, next);
|
db.getSortedSetRange('categories:cid', 0, -1, next);
|
||||||
},
|
},
|
||||||
@@ -201,11 +209,11 @@ function ignoreOrWatch(fn, socket, cid, callback) {
|
|||||||
} while (cat);
|
} while (cat);
|
||||||
|
|
||||||
async.each(cids, function (cid, next) {
|
async.each(cids, function (cid, next) {
|
||||||
fn(socket.uid, cid, next);
|
fn(targetUid, cid, next);
|
||||||
}, next);
|
}, next);
|
||||||
},
|
},
|
||||||
function (next) {
|
function (next) {
|
||||||
topics.pushUnreadCount(socket.uid, next);
|
topics.pushUnreadCount(targetUid, next);
|
||||||
},
|
},
|
||||||
function (next) {
|
function (next) {
|
||||||
next(null, cids);
|
next(null, cids);
|
||||||
|
|||||||
Reference in New Issue
Block a user