diff --git a/awx/api/serializers.py b/awx/api/serializers.py index bddd3ad174..44b5aad3eb 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -841,6 +841,7 @@ class OrganizationSerializer(BaseSerializer): res.update(dict( projects = reverse('api:organization_projects_list', args=(obj.pk,)), inventories = reverse('api:organization_inventories_list', args=(obj.pk,)), + workflow_job_templates = reverse('api:organization_workflow_job_templates_list', args=(obj.pk,)), users = reverse('api:organization_users_list', args=(obj.pk,)), admins = reverse('api:organization_admins_list', args=(obj.pk,)), teams = reverse('api:organization_teams_list', args=(obj.pk,)), @@ -2237,6 +2238,8 @@ class WorkflowJobTemplateSerializer(JobTemplateMixin, LabelsListMixin, UnifiedJo 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,)), )) + if obj.organization: + res['organization'] = reverse('api:organization_detail', args=(obj.organization.pk,)) return res def validate_extra_vars(self, value): diff --git a/awx/api/urls.py b/awx/api/urls.py index 14712ce37e..0f0dec8ba7 100644 --- a/awx/api/urls.py +++ b/awx/api/urls.py @@ -18,6 +18,7 @@ organization_urls = patterns('awx.api.views', url(r'^(?P[0-9]+)/admins/$', 'organization_admins_list'), url(r'^(?P[0-9]+)/inventories/$', 'organization_inventories_list'), url(r'^(?P[0-9]+)/projects/$', 'organization_projects_list'), + url(r'^(?P[0-9]+)/workflow_job_templates/$', 'organization_workflow_job_templates_list'), url(r'^(?P[0-9]+)/teams/$', 'organization_teams_list'), url(r'^(?P[0-9]+)/credentials/$', 'organization_credential_list'), url(r'^(?P[0-9]+)/activity_stream/$', 'organization_activity_stream_list'), diff --git a/awx/api/views.py b/awx/api/views.py index 4d73ef01db..bb58de32ec 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -767,6 +767,16 @@ class OrganizationProjectsList(SubListCreateAttachDetachAPIView): parent_key = 'organization' +class OrganizationWorkflowJobTemplatesList(SubListCreateAttachDetachAPIView): + + model = WorkflowJobTemplate + serializer_class = WorkflowJobTemplateListSerializer + parent_model = Organization + relationship = 'workflows' + parent_key = 'organization' + new_in_310 = True + + class OrganizationTeamsList(SubListCreateAttachDetachAPIView): model = Team