Merge pull request #1968 from wwitzel3/issue-1938

adds related `roles` for InventoryScript
This commit is contained in:
Akita Noek 2016-05-19 09:25:53 -04:00
commit 727dc580c7
3 changed files with 22 additions and 6 deletions

View File

@ -1261,6 +1261,9 @@ class CustomInventoryScriptSerializer(BaseSerializer):
def get_related(self, obj):
res = super(CustomInventoryScriptSerializer, self).get_related(obj)
res.update(dict(
roles = reverse('api:inventory_script_roles_list', args=(obj.pk,)),
))
if obj.organization:
res['organization'] = reverse('api:organization_detail', args=(obj.organization.pk,))

View File

@ -155,6 +155,7 @@ inventory_update_urls = patterns('awx.api.views',
inventory_script_urls = patterns('awx.api.views',
url(r'^$', 'inventory_script_list'),
url(r'^(?P<pk>[0-9]+)/$', 'inventory_script_detail'),
url(r'^(?P<pk>[0-9]+)/roles/$', 'inventory_script_roles_list'),
)
credential_urls = patterns('awx.api.views',

View File

@ -813,7 +813,7 @@ class OrganizationRolesList(SubListAPIView):
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).all()
return Role.objects.filter(content_type=content_type, object_id=po.pk)
class TeamList(ListCreateAPIView):
@ -1090,7 +1090,7 @@ class ProjectRolesList(SubListAPIView):
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).all()
return Role.objects.filter(content_type=content_type, object_id=po.pk)
class UserList(ListCreateAPIView):
@ -1402,7 +1402,7 @@ class CredentialRolesList(SubListAPIView):
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).all()
return Role.objects.filter(content_type=content_type, object_id=po.pk)
class InventoryScriptList(ListCreateAPIView):
@ -1424,6 +1424,18 @@ class InventoryScriptDetail(RetrieveUpdateDestroyAPIView):
inv_src.save()
return super(InventoryScriptDetail, self).destroy(request, *args, **kwargs)
class InventoryScriptRolesList(SubListAPIView):
model = Role
serializer_class = RoleSerializer
parent_model = CustomInventoryScript
new_in_300 = 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 InventoryList(ListCreateAPIView):
model = Inventory
@ -1484,7 +1496,7 @@ class InventoryRolesList(SubListAPIView):
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).all()
return Role.objects.filter(content_type=content_type, object_id=po.pk)
class InventoryJobTemplateList(SubListAPIView):
@ -1831,7 +1843,7 @@ class GroupRolesList(SubListAPIView):
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).all()
return Role.objects.filter(content_type=content_type, object_id=po.pk)
class InventoryGroupsList(SubListCreateAttachDetachAPIView):
@ -2561,7 +2573,7 @@ class JobTemplateRolesList(SubListAPIView):
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).all()
return Role.objects.filter(content_type=content_type, object_id=po.pk)
class SystemJobTemplateList(ListAPIView):