From 30ce85b80a7dcd1d801a34ef7d339e8706d90790 Mon Sep 17 00:00:00 2001 From: mabashian Date: Thu, 14 Feb 2019 16:19:54 -0500 Subject: [PATCH] Translate job status in smart status tooltip. Mark strings for translation in project form --- awx/ui/client/src/projects/projects.form.js | 4 +-- .../smart-status/smart-status.controller.js | 31 +++++++++++++++++-- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/awx/ui/client/src/projects/projects.form.js b/awx/ui/client/src/projects/projects.form.js index d8a5b2d3fd..25c65a7e89 100644 --- a/awx/ui/client/src/projects/projects.form.js +++ b/awx/ui/client/src/projects/projects.form.js @@ -56,7 +56,7 @@ export default ['i18n', 'NotificationsList', 'TemplateList', label: i18n._('SCM Type'), type: 'select', class: 'Form-dropDown--scmType', - defaultText: 'Choose an SCM Type', + defaultText: i18n._('Choose an SCM Type'), ngOptions: 'type.label for type in scm_type_options track by type.value', ngChange: 'scmChange()', required: true, @@ -115,7 +115,7 @@ export default ['i18n', 'NotificationsList', 'TemplateList', hideSubForm: "scm_type.value === 'manual'", awPopOverWatch: "urlPopover", awPopOver: "set in controllers/projects", - dataTitle: 'SCM URL', + dataTitle: i18n._('SCM URL'), dataContainer: 'body', dataPlacement: 'right', ngDisabled: '!(project_obj.summary_fields.user_capabilities.edit || canAdd)' diff --git a/awx/ui/client/src/smart-status/smart-status.controller.js b/awx/ui/client/src/smart-status/smart-status.controller.js index 5eb451cd71..86be5d9156 100644 --- a/awx/ui/client/src/smart-status/smart-status.controller.js +++ b/awx/ui/client/src/smart-status/smart-status.controller.js @@ -4,13 +4,38 @@ * All Rights Reserved *************************************************/ -export default ['$scope', '$filter', 'i18n', - function ($scope, $filter, i18n) { +export default ['$scope', '$filter', 'i18n', 'JobsStrings', + function ($scope, $filter, i18n, JobsStrings) { + + const strings = JobsStrings; function isFailureState(status) { return status === 'failed' || status === 'error' || status === 'canceled'; } + function getTranslatedStatusString(status) { + switch (status) { + case 'new': + return strings.get('list.NEW'); + case 'pending': + return strings.get('list.PENDING'); + case 'waiting': + return strings.get('list.WAITING'); + case 'running': + return strings.get('list.RUNNING'); + case 'successful': + return strings.get('list.SUCCESSFUL'); + case 'failed': + return strings.get('list.FAILED'); + case 'error': + return strings.get('list.ERROR'); + case 'canceled': + return strings.get('list.CANCELED'); + default: + return status; + } + }; + function init(){ var singleJobStatus = true; var firstJobStatus; @@ -37,7 +62,7 @@ export default ['$scope', '$filter', 'i18n', jobId: job.id, sortDate: job.finished || "running" + job.id, finished: finished, - status_tip: `${i18n._('JOB ID')}: ${job.id}
${i18n._('STATUS')}: ${job.status.toUpperCase()}
${i18n._('FINISHED')}: ${finished}`, + status_tip: `${i18n._('JOB ID')}: ${job.id}
${i18n._('STATUS')}: ${getTranslatedStatusString(job.status).toUpperCase()}
${i18n._('FINISHED')}: ${finished}`, detailsUrl: detailsBaseUrl + job.id };