From 82ef8ca0f3591d53a6265819dc913f6214ce713b Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Tue, 23 Apr 2013 18:08:38 -0400 Subject: [PATCH] Working on exposing more related fields. --- lib/main/serializers.py | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/lib/main/serializers.py b/lib/main/serializers.py index 10c5e5b16a..e749cc7bbd 100644 --- a/lib/main/serializers.py +++ b/lib/main/serializers.py @@ -74,7 +74,6 @@ class ProjectSerializer(BaseSerializer): fields = ('url', 'id', 'name', 'description', 'creation_date', 'local_path')#, 'default_playbook', 'scm_type') def get_related(self, obj): - # FIXME: add related resources: inventories return dict( organizations = reverse(lib.urls.views_ProjectsOrganizationsList, args=(obj.pk,)) ) @@ -91,8 +90,10 @@ class InventorySerializer(BaseSerializer): fields = ('url', 'id', 'name', 'description', 'creation_date', 'organization') def get_related(self, obj): - # FIXME: add related resources: hosts, groups - return dict() + return dict( + hosts = reverse(lib.urls.views_HostsList, args=(obj.pk,)), + groups = reverse(lib.urls.views_GroupsList, args=(obj.pk,)), + ) class HostSerializer(BaseSerializer): @@ -105,8 +106,9 @@ class HostSerializer(BaseSerializer): fields = ('url', 'id', 'name', 'description', 'creation_date', 'inventory') def get_related(self, obj): - # FIXME: add related resources - return dict() + return dict( + variable_data = reverse(lib.urls.views_HostsVariableDetail, args=(obj.pk,)), + ) class GroupSerializer(BaseSerializer): @@ -119,8 +121,12 @@ class GroupSerializer(BaseSerializer): fields = ('url', 'id', 'name', 'description', 'creation_date', 'inventory') def get_related(self, obj): - # FIXME: add related resources - return dict() + return dict( + variable_data = reverse(lib.urls.views_GroupsVariableDetail, args=(obj.pk,)), + hosts = reverse(lib.urls.views_GroupsHostsList, args=(obj.pk,)), + children = reverse(lib.urls.views_GroupsChildrenList, args=(obj.pk,)), + all_hosts = reverse(lib.urls.views_GroupsAllHostsList, args=(obj.pk,)), + ) class TeamSerializer(BaseSerializer): @@ -132,9 +138,14 @@ class TeamSerializer(BaseSerializer): model = Team fields = ('url', 'id', 'related', 'name', 'description', 'organization', 'creation_date') + # FIXME: TODO: include related collections but also related FK urls + def get_related(self, obj): - # FIXME: add related resources: projects, users, organizations - return dict() + return dict( + projects = reverse(lib.urls.views_TeamsProjectsList, args=(obj.pk,)), + users = reverse(lib.urls.views_TeamsUsersList, args=(obj.pk,)), + credentials = reverse(lib.urls.views_TeamsCredentialsList, args=(obj.pk,)), + ) class CredentialSerializer(BaseSerializer):