diff --git a/awx/main/models/unified_jobs.py b/awx/main/models/unified_jobs.py index 943956f7ac..f758a230a9 100644 --- a/awx/main/models/unified_jobs.py +++ b/awx/main/models/unified_jobs.py @@ -838,8 +838,11 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique setattr(unified_job, fd, val) unified_job.save() - # Labels coppied here - copy_m2m_relationships(self, unified_job, fields) + # Labels copied here + from awx.main.signals import disable_activity_stream + with disable_activity_stream(): + copy_m2m_relationships(self, unified_job, fields) + return unified_job def launch_prompts(self): diff --git a/awx/ui/client/src/activity-stream/factories/build-anchor.factory.js b/awx/ui/client/src/activity-stream/factories/build-anchor.factory.js index 1fc031e0e6..97da2ba5e3 100644 --- a/awx/ui/client/src/activity-stream/factories/build-anchor.factory.js +++ b/awx/ui/client/src/activity-stream/factories/build-anchor.factory.js @@ -62,10 +62,23 @@ export default function BuildAnchor($log, $filter) { case 'workflow_job_template': url += `templates/workflow_job_template/${obj.id}`; break; + case 'workflow_job': + url += `workflows/${obj.id}`; + break; + case 'label': + url = null; + break; default: url += resource + 's/' + obj.id + '/'; } - return ' ' + $filter('sanitize')(obj.name || obj.username) + ' '; + + const name = $filter('sanitize')(obj.name || obj.username); + + if (url) { + return ` ${name} `; + } + + return ` ${name} `; } catch(err){ $log.debug(err);