Add /api/v1/inventories/N/inventory_sources/ API resouce.

This commit is contained in:
Chris Church 2013-10-02 16:15:50 -04:00
parent 77e79d9917
commit bb484a7520
3 changed files with 18 additions and 0 deletions

View File

@ -55,6 +55,7 @@ SUMMARIZABLE_FK_FIELDS = {
'last_job_host_summary': DEFAULT_SUMMARY_FIELDS + ('failed',),
'last_update': DEFAULT_SUMMARY_FIELDS + ('status', 'failed',),
'current_update': DEFAULT_SUMMARY_FIELDS + ('status', 'failed',),
'inventory_source': ('source', 'last_updated', 'status'),
}
class BaseSerializer(serializers.ModelSerializer):
@ -452,6 +453,7 @@ class InventorySerializer(BaseSerializerWithVariables):
script = reverse('main:inventory_script_view', args=(obj.pk,)),
tree = reverse('main:inventory_tree_view', args=(obj.pk,)),
organization = reverse('main:organization_detail', args=(obj.organization.pk,)),
inventory_sources = reverse('main:inventory_inventory_sources_list', args=(obj.pk,)),
))
return res

View File

@ -63,6 +63,7 @@ inventory_urls = patterns('awx.main.views',
url(r'^(?P<pk>[0-9]+)/variable_data/$', 'inventory_variable_data'),
url(r'^(?P<pk>[0-9]+)/script/$', 'inventory_script_view'),
url(r'^(?P<pk>[0-9]+)/tree/$', 'inventory_tree_view'),
url(r'^(?P<pk>[0-9]+)/inventory_sources/$', 'inventory_inventory_sources_list'),
)
host_urls = patterns('awx.main.views',

View File

@ -696,6 +696,21 @@ class InventoryTreeView(RetrieveAPIView):
})
return d
class InventoryInventorySourcesList(SubListAPIView):
model = InventorySource
serializer_class = InventorySourceSerializer
parent_model = Inventory
relationship = None # Not defined since using get_queryset().
view_name = 'Inventory Source List'
new_in_14 = True
def get_queryset(self):
parent = self.get_parent_object()
self.check_parent_access(parent)
qs = self.request.user.get_queryset(self.model)
return qs.filter(group__inventory__pk=parent.pk)
class InventorySourceDetail(RetrieveUpdateAPIView):
model = InventorySource