diff --git a/awx/main/models/unified_jobs.py b/awx/main/models/unified_jobs.py index 520c8fe4de..b75b100d22 100644 --- a/awx/main/models/unified_jobs.py +++ b/awx/main/models/unified_jobs.py @@ -758,6 +758,16 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique def result_stdout_limited(self, start_line=0, end_line=None, redact_sensitive=False): return self._result_stdout_raw_limited(start_line, end_line, redact_sensitive, escape_ascii=True) + @property + def spawned_by_workflow(self): + return self.launch_type == 'workflow' + + @property + def workflow_job_id(self): + if self.spawned_by_workflow(): + return self.unified_job_node.workflow_job.pk + return None + @property def celery_task(self): try: diff --git a/awx/main/models/workflow.py b/awx/main/models/workflow.py index 426e2ac6b5..f51394afa3 100644 --- a/awx/main/models/workflow.py +++ b/awx/main/models/workflow.py @@ -185,9 +185,9 @@ class WorkflowJobTemplateNode(WorkflowNodeBase): return WorkflowJobNode.objects.create(**create_kwargs) class WorkflowJobNode(WorkflowNodeBase): - job = models.ForeignKey( + job = models.OneToOneField( 'UnifiedJob', - related_name='unified_job_nodes', + related_name='unified_job_node', blank=True, null=True, default=None,