diff --git a/public/language/en-GB/topic.json b/public/language/en-GB/topic.json index e56cefe728..ef7d946bcf 100644 --- a/public/language/en-GB/topic.json +++ b/public/language/en-GB/topic.json @@ -33,6 +33,7 @@ "locked": "Locked", "pinned": "Pinned", "moved": "Moved", + "moved-from": "Moved from %1", "copy-ip": "Copy IP", "ban-ip": "Ban IP", "view-history": "Edit History", diff --git a/src/controllers/topics.js b/src/controllers/topics.js index 72fe28e5f6..5da598ebd2 100644 --- a/src/controllers/topics.js +++ b/src/controllers/topics.js @@ -5,6 +5,7 @@ const nconf = require('nconf'); const user = require('../user'); const meta = require('../meta'); const topics = require('../topics'); +const categories = require('../categories'); const posts = require('../posts'); const privileges = require('../privileges'); const helpers = require('./helpers'); @@ -93,6 +94,7 @@ topicsController.get = async function getTopic(req, res, callback) { await Promise.all([ buildBreadcrumbs(topicData), + addOldCategory(topicData, userPrivileges), addTags(topicData, req, res), incrementViewCount(req, tid), markAsRead(req, tid), @@ -166,6 +168,14 @@ async function buildBreadcrumbs(topicData) { topicData.breadcrumbs = parentCrumbs.concat(breadcrumbs); } +async function addOldCategory(topicData, userPrivileges) { + if (userPrivileges.isAdminOrMod && topicData.oldCid) { + topicData.oldCategory = await categories.getCategoryFields( + topicData.oldCid, ['cid', 'name', 'icon', 'bgColor', 'color', 'slug'] + ); + } +} + async function addTags(topicData, req, res) { const postIndex = parseInt(req.params.post_index, 10) || 0; const postAtIndex = topicData.posts.find(p => parseInt(p.index, 10) === parseInt(Math.max(0, postIndex - 1), 10));