From 18533bba135c13304ac6fc1c87ff58958d4f888c Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=B4me=20Chilliet?= Date: Tue, 9 Jan 2024 16:43:46 +0100 Subject: [PATCH] Fix UI for rich object in setupcheck results MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Côme Chilliet --- core/js/setupchecks.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index 24fec85aeb3..925c6924f26 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -380,6 +380,28 @@ return deferred.promise(); }, + /** + * @param message The message string containing placeholders. + * @param parameters An object with keys as placeholders and values as their replacements. + * + * @return The message with placeholders replaced by values. + */ + richToParsed: function (message, parameters) { + for (var [placeholder, parameter] of Object.entries(parameters)) { + var replacement; + if (parameter.type === 'user') { + replacement = '@' + parameter.name; + } else if (parameter.type === 'file') { + replacement = parameter.path || parameter.name; + } else { + replacement = parameter.name; + } + message = message.replace('{' + placeholder + '}', replacement); + } + + return message; + }, + addGenericSetupCheck: function(data, check, messages) { var setupCheck = data[check] || { pass: true, description: '', severity: 'info', linkToDoc: null} @@ -391,6 +413,9 @@ } var message = setupCheck.description; + if (setupCheck.descriptionParameters) { + message = this.richToParsed(message, setupCheck.descriptionParameters); + } if (setupCheck.linkToDoc) { message += ' ' + t('core', 'For more details see the {linkstart}documentation ↗{linkend}.') .replace('{linkstart}', '') -- 2.39.5