From 7970f5026bac74817cd6b1f2246e716ae9045d83 Mon Sep 17 00:00:00 2001 From: ansuz Date: Thu, 14 May 2020 18:53:14 -0400 Subject: [PATCH] add support for displaying languages that administrators understand on the support panel --- customize.dist/application_config.js | 2 ++ www/support/inner.js | 29 +++++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/customize.dist/application_config.js b/customize.dist/application_config.js index a7ad90f11..0187cf74b 100644 --- a/customize.dist/application_config.js +++ b/customize.dist/application_config.js @@ -9,5 +9,7 @@ define(['/common/application_config_internal.js'], function (AppConfig) { // Example: If you want to remove the survey link in the menu: // AppConfig.surveyURL = ""; + AppConfig.supportLanguages = [ 'en', 'fr' ]; // XXX + return AppConfig; }); diff --git a/www/support/inner.js b/www/support/inner.js index 701d01817..48bb1c4ef 100644 --- a/www/support/inner.js +++ b/www/support/inner.js @@ -11,6 +11,7 @@ define([ '/common/hyperscript.js', '/support/ui.js', '/api/config', + '/customize/application_config.js', 'css!/bower_components/bootstrap/dist/css/bootstrap.min.css', 'css!/bower_components/components-font-awesome/css/font-awesome.min.css', @@ -27,7 +28,8 @@ define([ Messages, h, Support, - ApiConfig + ApiConfig, + AppConfig ) { var APP = window.APP = {}; @@ -41,6 +43,7 @@ define([ 'cp-support-list', ], 'new': [ + 'cp-support-language', 'cp-support-form', ], }; @@ -132,6 +135,30 @@ define([ return $div; }; + create['language'] = function () { + if (!Array.isArray(AppConfig.supportLanguages)) { return $(h('div')); } + var languages = AppConfig.supportLanguages; + + var list = h('li', languages + .map(function (lang) { + return Messages._languages[lang]; + }) + .filter(Boolean) + .map(function (lang) { + return h('li', lang); + }) + ); + + var preamble = "This server's administrators speak the following languages:"; // XXX + var $div = $( + h('div.cp-support-language', [ + preamble, + list, + ]) + ); + return $div; + }; + // Create a new tickets create['form'] = function () { var key = 'form';