mirror of
https://github.com/ansible/awx.git
synced 2026-02-26 07:26:03 -03:30
Merge pull request #3687 from AlanCoding/wf_fixes
Workflow serializer fixes
This commit is contained in:
@@ -2232,11 +2232,14 @@ class WorkflowNodeBaseSerializer(BaseSerializer):
|
|||||||
job_tags = serializers.SerializerMethodField()
|
job_tags = serializers.SerializerMethodField()
|
||||||
limit = serializers.SerializerMethodField()
|
limit = serializers.SerializerMethodField()
|
||||||
skip_tags = serializers.SerializerMethodField()
|
skip_tags = serializers.SerializerMethodField()
|
||||||
|
success_nodes = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||||
|
failure_nodes = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||||
|
always_nodes = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
fields = ('id', 'url', 'related', 'unified_job_template',
|
fields = ('*', '-name', '-description', 'id', 'url', 'related',
|
||||||
|
'unified_job_template', 'success_nodes', 'failure_nodes', 'always_nodes',
|
||||||
'inventory', 'credential', 'job_type', 'job_tags', 'skip_tags', 'limit', 'skip_tags')
|
'inventory', 'credential', 'job_type', 'job_tags', 'skip_tags', 'limit', 'skip_tags')
|
||||||
read_only_fields = ('success_nodes', 'failure_nodes', 'always_nodes')
|
|
||||||
|
|
||||||
def get_related(self, obj):
|
def get_related(self, obj):
|
||||||
res = super(WorkflowNodeBaseSerializer, self).get_related(obj)
|
res = super(WorkflowNodeBaseSerializer, self).get_related(obj)
|
||||||
|
|||||||
@@ -1277,6 +1277,7 @@ class WorkflowJobTemplateNodeAccess(BaseAccess):
|
|||||||
qs = self.model.objects.filter(
|
qs = self.model.objects.filter(
|
||||||
workflow_job_template__in=WorkflowJobTemplate.accessible_objects(
|
workflow_job_template__in=WorkflowJobTemplate.accessible_objects(
|
||||||
self.user, 'read_role'))
|
self.user, 'read_role'))
|
||||||
|
qs = qs.prefetch_related('success_nodes', 'failure_nodes', 'always_nodes')
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
def can_use_prompted_resources(self, data):
|
def can_use_prompted_resources(self, data):
|
||||||
@@ -1371,6 +1372,8 @@ class WorkflowJobNodeAccess(BaseAccess):
|
|||||||
qs = self.model.objects.filter(
|
qs = self.model.objects.filter(
|
||||||
workflow_job__workflow_job_template__in=WorkflowJobTemplate.accessible_objects(
|
workflow_job__workflow_job_template__in=WorkflowJobTemplate.accessible_objects(
|
||||||
self.user, 'read_role'))
|
self.user, 'read_role'))
|
||||||
|
qs = qs.select_related('unified_job_template', 'job')
|
||||||
|
qs = qs.prefetch_related('success_nodes', 'failure_nodes', 'always_nodes')
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
def can_add(self, data):
|
def can_add(self, data):
|
||||||
|
|||||||
Reference in New Issue
Block a user