From b6493cacd59110d7f02ba9cb7407ca45fd54475b Mon Sep 17 00:00:00 2001 From: AlanCoding Date: Thu, 12 Jan 2017 17:35:55 -0500 Subject: [PATCH 1/2] small tweaks to make workflow endpoints load better --- awx/api/serializers.py | 2 +- awx/main/access.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/awx/api/serializers.py b/awx/api/serializers.py index 31126da821..649d55fe4c 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -2370,7 +2370,7 @@ class WorkflowJobTemplateNodeSerializer(WorkflowNodeBaseSerializer): if view and view.request: request_method = view.request.method if request_method in ['PATCH']: - obj = view.get_object() + obj = self.instance char_prompts = copy.copy(obj.char_prompts) char_prompts.update(self.extract_char_prompts(data)) else: diff --git a/awx/main/access.py b/awx/main/access.py index 75b53d2527..6f4f76ee4d 100644 --- a/awx/main/access.py +++ b/awx/main/access.py @@ -1395,7 +1395,8 @@ class WorkflowJobTemplateNodeAccess(BaseAccess): qs = self.model.objects.filter( workflow_job_template__in=WorkflowJobTemplate.accessible_objects( self.user, 'read_role')) - qs = qs.prefetch_related('success_nodes', 'failure_nodes', 'always_nodes') + qs = qs.prefetch_related('success_nodes', 'failure_nodes', 'always_nodes', + 'unified_job_template') return qs def can_use_prompted_resources(self, data): From a93ad270f27b51c0372e096ef016c0a3e0e7053f Mon Sep 17 00:00:00 2001 From: AlanCoding Date: Fri, 13 Jan 2017 14:44:58 -0500 Subject: [PATCH 2/2] update workflow serializer fixture to use serializer instance --- awx/main/tests/unit/api/serializers/test_workflow_serializers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/awx/main/tests/unit/api/serializers/test_workflow_serializers.py b/awx/main/tests/unit/api/serializers/test_workflow_serializers.py index b444531206..b8697db71f 100644 --- a/awx/main/tests/unit/api/serializers/test_workflow_serializers.py +++ b/awx/main/tests/unit/api/serializers/test_workflow_serializers.py @@ -125,6 +125,7 @@ class TestWorkflowJobTemplateNodeSerializerCharPrompts(): serializer = WorkflowJobTemplateNodeSerializer() node = WorkflowJobTemplateNode(pk=1) node.char_prompts = {'limit': 'webservers'} + serializer.instance = node view = FakeView(node) view.request = FakeRequest() view.request.method = "PATCH"