From 35f932cd641b116cce324870193a9bea69b994ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 17 Nov 2020 13:56:04 -0500 Subject: [PATCH] feat: #8171, add oldCategory if topic is moved --- public/language/en-GB/topic.json | 1 + src/controllers/topics.js | 10 ++++++++++ 2 files changed, 11 insertions(+) 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));