diff --git a/awx/api/generics.py b/awx/api/generics.py index 7b58f14edb..7a818722bc 100644 --- a/awx/api/generics.py +++ b/awx/api/generics.py @@ -412,6 +412,8 @@ class SubListCreateAttachDetachAPIView(SubListCreateAPIView): # Verify that the relationship to be added is valid. attach_errors = self.is_valid_relation(parent, sub) if attach_errors is not None: + if created: + sub.delete() return Response(attach_errors, status=status.HTTP_400_BAD_REQUEST) # Attach the object to the collection. diff --git a/awx/api/views.py b/awx/api/views.py index a5a85f2fdf..910eae869b 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -2669,8 +2669,10 @@ class WorkflowJobTemplateNodeChildrenBaseList(EnforceParentRelationshipMixin, Su related_nodes = getattr(workflow_node, node_type).all() for related_node in related_nodes: graph.add_edge(workflow_node, related_node, node_type) - if not find and parent == workflow_node and\ - sub == related_node and self.relationship == node_type: + if (not find and + parent == workflow_node and + sub == related_node and + self.relationship == node_type): find = True if not find: graph.add_edge(parent, sub, self.relationship)