diff --git a/awx/ui/client/features/output/details.component.js b/awx/ui/client/features/output/details.component.js index 2b9cb2a931..60b3130a98 100644 --- a/awx/ui/client/features/output/details.component.js +++ b/awx/ui/client/features/output/details.component.js @@ -113,6 +113,18 @@ function getVerbosityDetails () { return { label, value }; } +function getEnvironmentDetails (virtualenv) { + const value = virtualenv || resource.model.get('custom_virtualenv'); + + if (!value || value === '') { + return null; + } + + const label = strings.get('labels.ENVIRONMENT'); + + return { label, value }; +} + function getSourceWorkflowJobDetails () { const sourceWorkflowJob = resource.model.get('summary_fields.source_workflow_job'); @@ -711,6 +723,7 @@ function JobDetailsController ( vm.launchedBy = getLaunchedByDetails(); vm.jobExplanation = getJobExplanationDetails(); vm.verbosity = getVerbosityDetails(); + vm.environment = getEnvironmentDetails(); vm.credentials = getCredentialDetails(); vm.forks = getForkDetails(); vm.limit = getLimitDetails(); @@ -735,11 +748,12 @@ function JobDetailsController ( vm.toggleLabels = toggleLabels; vm.showLabels = showLabels; - unsubscribe = subscribe(({ status, started, finished, scm }) => { + unsubscribe = subscribe(({ status, started, finished, scm, environment }) => { vm.started = getStartDetails(started); vm.finished = getFinishDetails(finished); vm.projectUpdate = getProjectUpdateDetails(scm.id); vm.projectStatus = getProjectStatusDetails(scm.status); + vm.environment = getEnvironmentDetails(environment); vm.status = getStatusDetails(status); vm.job.status = status; }); diff --git a/awx/ui/client/features/output/details.partial.html b/awx/ui/client/features/output/details.partial.html index 9e42ad9c5c..c56772dbee 100644 --- a/awx/ui/client/features/output/details.partial.html +++ b/awx/ui/client/features/output/details.partial.html @@ -268,6 +268,12 @@
{{ vm.verbosity.value }}
+ +
+ +
{{ vm.environment.value }}
+
+
diff --git a/awx/ui/client/features/output/output.strings.js b/awx/ui/client/features/output/output.strings.js index 1f89700a36..c1684649c1 100644 --- a/awx/ui/client/features/output/output.strings.js +++ b/awx/ui/client/features/output/output.strings.js @@ -48,6 +48,7 @@ function OutputStrings (BaseString) { ns.labels = { CREDENTIAL: t.s('Credential'), + ENVIRONMENT: t.s('Environment'), EXTRA_VARS: t.s('Extra Variables'), FINISHED: t.s('Finished'), FORKS: t.s('Forks'), diff --git a/awx/ui/client/features/output/status.service.js b/awx/ui/client/features/output/status.service.js index 26483ff0e2..30331f82b6 100644 --- a/awx/ui/client/features/output/status.service.js +++ b/awx/ui/client/features/output/status.service.js @@ -39,6 +39,7 @@ function JobStatusService (moment, message) { elapsed: model.get('elapsed'), started: model.get('started'), finished: model.get('finished'), + environment: model.get('custom_virtualenv'), scm: { id: model.get('summary_fields.project_update.id'), status: model.get('summary_fields.project_update.status') @@ -255,6 +256,12 @@ function JobStatusService (moment, message) { this.updateRunningState(); }; + this.setEnvironment = env => { + if (!env) return; + + this.state.environment = env; + }; + this.setStatsEvent = data => { if (!data) return; @@ -296,6 +303,7 @@ function JobStatusService (moment, message) { this.setElapsed(model.get('elapsed')); this.setStarted(model.get('started')); this.setJobStatus(model.get('status')); + this.setEnvironment(model.get('custom_virtualenv')); this.initHostStatusCounts({ model }); this.initPlaybookCounts({ model });