v1.18.x
Barış Soner Uşaklı 9 years ago
parent 9ae8ee861a
commit 26be7c25e4

@ -62,7 +62,7 @@ module.exports = function(Categories) {
}, },
function(results, next) { function(results, next) {
if (data.cloneFromCid && parseInt(data.cloneFromCid, 10)) { if (data.cloneFromCid && parseInt(data.cloneFromCid, 10)) {
return Categories.copySettingsFrom(data.cloneFromCid, category.cid, next); return Categories.copySettingsFrom(data.cloneFromCid, category.cid, !data.parentCid, next);
} }
next(null, category); next(null, category);
}, },
@ -81,7 +81,7 @@ module.exports = function(Categories) {
return [backgrounds[index], text[index]]; return [backgrounds[index], text[index]];
}; };
Categories.copySettingsFrom = function(fromCid, toCid, callback) { Categories.copySettingsFrom = function(fromCid, toCid, copyParent, callback) {
var destination; var destination;
async.waterfall([ async.waterfall([
function (next) { function (next) {
@ -97,11 +97,11 @@ module.exports = function(Categories) {
destination = results.destination; destination = results.destination;
var tasks = []; var tasks = [];
if (utils.isNumber(results.source.parentCid)) { if (copyParent && utils.isNumber(results.source.parentCid)) {
tasks.push(async.apply(db.sortedSetAdd, 'cid:' + results.source.parentCid + ':children', results.source.order, toCid)); tasks.push(async.apply(db.sortedSetAdd, 'cid:' + results.source.parentCid + ':children', results.source.order, toCid));
} }
if (destination && utils.isNumber(destination.parentCid)) { if (copyParent && destination && utils.isNumber(destination.parentCid)) {
tasks.push(async.apply(db.sortedSetRemove, 'cid:' + destination.parentCid + ':children', toCid)); tasks.push(async.apply(db.sortedSetRemove, 'cid:' + destination.parentCid + ':children', toCid));
} }
@ -114,8 +114,11 @@ module.exports = function(Categories) {
destination.numRecentReplies = results.source.numRecentReplies; destination.numRecentReplies = results.source.numRecentReplies;
destination.class = results.source.class; destination.class = results.source.class;
destination.imageClass = results.source.imageClass; destination.imageClass = results.source.imageClass;
destination.parentCid = results.source.parentCid || 0;
if (copyParent) {
destination.parentCid = results.source.parentCid || 0;
}
tasks.push(async.apply(db.setObject, 'category:' + toCid, destination)); tasks.push(async.apply(db.setObject, 'category:' + toCid, destination));
async.series(tasks, next); async.series(tasks, next);

@ -96,7 +96,7 @@ function copyPrivilegesToChildrenRecursive(parentCid, category, callback) {
} }
Categories.copySettingsFrom = function(socket, data, callback) { Categories.copySettingsFrom = function(socket, data, callback) {
categories.copySettingsFrom(data.fromCid, data.toCid, callback); categories.copySettingsFrom(data.fromCid, data.toCid, true, callback);
}; };
Categories.copyPrivilegesFrom = function(socket, data, callback) { Categories.copyPrivilegesFrom = function(socket, data, callback) {

Loading…
Cancel
Save