From d809227caca540ebbf583466074165f61b3be7b2 Mon Sep 17 00:00:00 2001 From: Aaron Tan Date: Fri, 25 Nov 2016 22:46:46 -0500 Subject: [PATCH] Add wfjt object_roles_list endpoint. --- awx/api/serializers.py | 1 + awx/api/urls.py | 1 + awx/api/views.py | 19 ++++++++++++++++--- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/awx/api/serializers.py b/awx/api/serializers.py index b2828130e7..bddd3ad174 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -2234,6 +2234,7 @@ class WorkflowJobTemplateSerializer(JobTemplateMixin, LabelsListMixin, UnifiedJo notification_templates_success = reverse('api:workflow_job_template_notification_templates_success_list', args=(obj.pk,)), notification_templates_error = reverse('api:workflow_job_template_notification_templates_error_list', args=(obj.pk,)), access_list = reverse('api:workflow_job_template_access_list', args=(obj.pk,)), + object_roles = reverse('api:workflow_job_template_object_roles_list', args=(obj.pk,)), survey_spec = reverse('api:workflow_job_template_survey_spec', args=(obj.pk,)), )) return res diff --git a/awx/api/urls.py b/awx/api/urls.py index 170d750baa..14712ce37e 100644 --- a/awx/api/urls.py +++ b/awx/api/urls.py @@ -271,6 +271,7 @@ workflow_job_template_urls = patterns('awx.api.views', url(r'^(?P[0-9]+)/notification_templates_error/$', 'workflow_job_template_notification_templates_error_list'), url(r'^(?P[0-9]+)/notification_templates_success/$', 'workflow_job_template_notification_templates_success_list'), url(r'^(?P[0-9]+)/access_list/$', 'workflow_job_template_access_list'), + url(r'^(?P[0-9]+)/object_roles/$', 'workflow_job_template_object_roles_list'), url(r'^(?P[0-9]+)/labels/$', 'workflow_job_template_label_list'), ) diff --git a/awx/api/views.py b/awx/api/views.py index 7d3cb123b2..4d73ef01db 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -3076,9 +3076,22 @@ class WorkflowJobTemplateNotificationTemplatesSuccessList(SubListCreateAttachDet class WorkflowJobTemplateAccessList(ResourceAccessList): - model = User # needs to be User for AccessLists's - resource_model = WorkflowJobTemplate - new_in_310 = True + model = User # needs to be User for AccessLists's + resource_model = WorkflowJobTemplate + new_in_310 = True + + +class WorkflowJobTemplateObjectRolesList(SubListAPIView): + + model = Role + serializer_class = RoleSerializer + parent_model = WorkflowJobTemplate + new_in_310 = True + + def get_queryset(self): + po = self.get_parent_object() + content_type = ContentType.objects.get_for_model(self.parent_model) + return Role.objects.filter(content_type=content_type, object_id=po.pk) class WorkflowJobTemplateActivityStreamList(SubListAPIView):