mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
feat: #8171, add oldCategory if topic is moved
This commit is contained in:
@@ -33,6 +33,7 @@
|
|||||||
"locked": "Locked",
|
"locked": "Locked",
|
||||||
"pinned": "Pinned",
|
"pinned": "Pinned",
|
||||||
"moved": "Moved",
|
"moved": "Moved",
|
||||||
|
"moved-from": "Moved from %1",
|
||||||
"copy-ip": "Copy IP",
|
"copy-ip": "Copy IP",
|
||||||
"ban-ip": "Ban IP",
|
"ban-ip": "Ban IP",
|
||||||
"view-history": "Edit History",
|
"view-history": "Edit History",
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ const nconf = require('nconf');
|
|||||||
const user = require('../user');
|
const user = require('../user');
|
||||||
const meta = require('../meta');
|
const meta = require('../meta');
|
||||||
const topics = require('../topics');
|
const topics = require('../topics');
|
||||||
|
const categories = require('../categories');
|
||||||
const posts = require('../posts');
|
const posts = require('../posts');
|
||||||
const privileges = require('../privileges');
|
const privileges = require('../privileges');
|
||||||
const helpers = require('./helpers');
|
const helpers = require('./helpers');
|
||||||
@@ -93,6 +94,7 @@ topicsController.get = async function getTopic(req, res, callback) {
|
|||||||
|
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
buildBreadcrumbs(topicData),
|
buildBreadcrumbs(topicData),
|
||||||
|
addOldCategory(topicData, userPrivileges),
|
||||||
addTags(topicData, req, res),
|
addTags(topicData, req, res),
|
||||||
incrementViewCount(req, tid),
|
incrementViewCount(req, tid),
|
||||||
markAsRead(req, tid),
|
markAsRead(req, tid),
|
||||||
@@ -166,6 +168,14 @@ async function buildBreadcrumbs(topicData) {
|
|||||||
topicData.breadcrumbs = parentCrumbs.concat(breadcrumbs);
|
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) {
|
async function addTags(topicData, req, res) {
|
||||||
const postIndex = parseInt(req.params.post_index, 10) || 0;
|
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));
|
const postAtIndex = topicData.posts.find(p => parseInt(p.index, 10) === parseInt(Math.max(0, postIndex - 1), 10));
|
||||||
|
|||||||
Reference in New Issue
Block a user