From 7274a8d781e46e7862ae0e0634c004abb28592c4 Mon Sep 17 00:00:00 2001 From: Côme Chilliet Date: Tue, 9 Jan 2024 16:43:46 +0100 Subject: Fix UI for rich object in setupcheck results MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Côme Chilliet --- core/js/setupchecks.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'core/js') diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index 4331e8e9cc9..bf7c7e43083 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -332,6 +332,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} @@ -343,6 +365,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}', '') -- cgit v1.2.3