diff --git a/public/src/client/topic/move.js b/public/src/client/topic/move.js index ba4f055e68..df23091357 100644 --- a/public/src/client/topic/move.js +++ b/public/src/client/topic/move.js @@ -2,8 +2,8 @@ define('forum/topic/move', [ - 'categorySelector', 'alerts', 'hooks', -], function (categorySelector, alerts, hooks) { + 'categorySelector', 'alerts', 'hooks', 'api', +], function (categorySelector, alerts, hooks, api) { const Move = {}; let modal; let selectedCategory; @@ -88,15 +88,26 @@ define('forum/topic/move', [ function moveTopics(data) { hooks.fire('action:topic.move', data); - socket.emit(!data.tids ? 'topics.moveAll' : 'topics.move', data, function (err) { - if (err) { - return alerts.error(err); - } + if (data.tids) { + data.tids.forEach((tid) => { + api.put(`/topics/${tid}/move`, { cid: data.cid }).then(() => { + if (typeof data.onComplete === 'function') { + data.onComplete(); + } + }).catch(alerts.error); + }); + } else { + socket.emit('topics.moveAll', data, function (err) { + if (err) { + return alerts.error(err); + } + + if (typeof data.onComplete === 'function') { + data.onComplete(); + } + }); + } - if (typeof data.onComplete === 'function') { - data.onComplete(); - } - }); } function closeMoveModal() { diff --git a/src/socket.io/topics/move.js b/src/socket.io/topics/move.js index edda6b2c77..a3fd3a8076 100644 --- a/src/socket.io/topics/move.js +++ b/src/socket.io/topics/move.js @@ -11,7 +11,7 @@ const sockets = require('..'); module.exports = function (SocketTopics) { SocketTopics.move = async function (socket, data) { - sockets.warnDeprecated(socket, 'GET /api/v3/topics/:tid/move'); + sockets.warnDeprecated(socket, 'PUT /api/v3/topics/:tid/move'); if (!data || !Array.isArray(data.tids) || !data.cid) { throw new Error('[[error:invalid-data]]');