diff --git a/public/language/en-GB/admin/manage/tags.json b/public/language/en-GB/admin/manage/tags.json index 928a6a5068..3976ea97d7 100644 --- a/public/language/en-GB/admin/manage/tags.json +++ b/public/language/en-GB/admin/manage/tags.json @@ -14,5 +14,6 @@ "alerts.editing": "Editing tag(s)", "alerts.confirm-delete": "Do you want to delete the selected tags?", - "alerts.update-success": "Tag Updated!" + "alerts.update-success": "Tag Updated!", + "reset-colors": "Reset colors" } \ No newline at end of file diff --git a/public/src/admin/manage/tags.js b/public/src/admin/manage/tags.js index 699d2ddffa..512e0732d7 100644 --- a/public/src/admin/manage/tags.js +++ b/public/src/admin/manage/tags.js @@ -159,6 +159,7 @@ define('admin/manage/tags', [ return app.alertError(err.message); } app.alertSuccess('[[admin/manage/tags:alerts.update-success]]'); + ajaxify.refresh(); }); }, }, diff --git a/src/topics/tags.js b/src/topics/tags.js index 967322da64..1aa573e3e1 100644 --- a/src/topics/tags.js +++ b/src/topics/tags.js @@ -90,6 +90,15 @@ module.exports = function (Topics) { } newTagName = utils.cleanUpTag(newTagName, meta.config.maximumTagLength); await Topics.createEmptyTag(newTagName); + const targetExists = await db.isSortedSetMember('tags:topic:count', newTagName); + const tagData = await db.getObject('tag:' + tag); + if (tagData && !targetExists) { + await db.setObject('tag:' + newTagName, { + color: tagData.color, + bgColor: tagData.bgColor, + }); + } + await batch.processSortedSet('tag:' + tag + ':topics', async function (tids) { const scores = await db.sortedSetScores('tag:' + tag + ':topics', tids); await db.sortedSetAdd('tag:' + newTagName + ':topics', scores, tids);