From e9585b9be2718181404080ea9f954788a3190365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 18 Nov 2020 23:07:38 -0500 Subject: [PATCH] fix: group userTitles translation escapes --- public/src/admin/manage/group.js | 2 +- public/src/client/groups/details.js | 5 ++--- src/controllers/admin/groups.js | 8 ++++---- src/controllers/groups.js | 3 ++- src/views/admin/manage/group.tpl | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/public/src/admin/manage/group.js b/public/src/admin/manage/group.js index a64a8d88c5..792560bf2b 100644 --- a/public/src/admin/manage/group.js +++ b/public/src/admin/manage/group.js @@ -27,7 +27,7 @@ define('admin/manage/group', [ memberList.init('admin/manage/group'); changeGroupUserTitle.on('keyup', function () { - groupLabelPreviewText.text(changeGroupUserTitle.val()); + groupLabelPreviewText.translateText(changeGroupUserTitle.val()); }); changeGroupLabelColor.on('keyup input', function () { diff --git a/public/src/client/groups/details.js b/public/src/client/groups/details.js index 90df269834..fba32d00e6 100644 --- a/public/src/client/groups/details.js +++ b/public/src/client/groups/details.js @@ -143,6 +143,7 @@ define('forum/groups/details', [ var textColorValueEl = settingsFormEl.find('[name="textColor"]'); var iconBtn = settingsFormEl.find('[data-action="icon-select"]'); var previewEl = settingsFormEl.find('.label'); + var previewElText = settingsFormEl.find('.label-text'); var previewIcon = previewEl.find('i'); var userTitleEl = settingsFormEl.find('[name="userTitle"]'); var userTitleEnabledEl = settingsFormEl.find('[name="userTitleEnabled"]'); @@ -165,9 +166,7 @@ define('forum/groups/details', [ // If the user title changes, update that too userTitleEl.on('keyup', function () { - var icon = previewIcon.detach(); - previewEl.text(' ' + (this.value || settingsFormEl.find('#name').val())); - previewEl.prepend(icon); + previewElText.translateText((this.value || settingsFormEl.find('#name').val())); }); // Disable user title customisation options if the the user title itself is disabled diff --git a/src/controllers/admin/groups.js b/src/controllers/admin/groups.js index c099d2093e..5a555eace3 100644 --- a/src/controllers/admin/groups.js +++ b/src/controllers/admin/groups.js @@ -10,6 +10,7 @@ const groups = require('../../groups'); const meta = require('../../meta'); const pagination = require('../../pagination'); const events = require('../../events'); +const translator = require('../../translator'); const groupsController = module.exports; @@ -35,16 +36,17 @@ groupsController.list = async function (req, res) { groupsController.get = async function (req, res, next) { const groupName = req.params.name; - const [groupNames, group] = await Promise.all([ + const [groupNames, group, allCategories] = await Promise.all([ getGroupNames(), groups.get(groupName, { uid: req.uid, truncateUserList: true, userListCount: 20 }), + categories.buildForSelectAll(), ]); if (!group) { return next(); } group.isOwner = true; - + group.userTitleEscaped = translator.escape(group.userTitle); const groupNameData = groupNames.map(function (name) { return { encodedName: encodeURIComponent(name), @@ -53,8 +55,6 @@ groupsController.get = async function (req, res, next) { }; }); - const allCategories = await categories.buildForSelectAll(); - res.render('admin/manage/group', { group: group, groupNames: groupNameData, diff --git a/src/controllers/groups.js b/src/controllers/groups.js index 14076783ca..22aed44811 100644 --- a/src/controllers/groups.js +++ b/src/controllers/groups.js @@ -9,6 +9,7 @@ const user = require('../user'); const helpers = require('./helpers'); const pagination = require('../pagination'); const privileges = require('../privileges'); +const translator = require('../translator'); const groupsController = module.exports; @@ -72,7 +73,7 @@ groupsController.details = async function (req, res, next) { return next(); } groupData.isOwner = groupData.isOwner || isAdmin || (isGlobalMod && !groupData.system); - + groupData.userTitleEscaped = translator.escape(groupData.userTitle); res.render('groups/details', { title: '[[pages:group, ' + groupData.displayName + ']]', group: groupData, diff --git a/src/views/admin/manage/group.tpl b/src/views/admin/manage/group.tpl index 282d864b06..ed37a7a8cc 100644 --- a/src/views/admin/manage/group.tpl +++ b/src/views/admin/manage/group.tpl @@ -17,7 +17,7 @@
{group.userTitle} -
+