AC-286. Added potential_children resource for groups.

This commit is contained in:
Chris Church
2013-09-28 16:45:44 -04:00
parent b0e6cf898f
commit fe42862294
4 changed files with 27 additions and 0 deletions

View File

@@ -540,6 +540,22 @@ class GroupChildrenList(SubListCreateAPIView):
return Response(status=status.HTTP_204_NO_CONTENT)
class GroupPotentialChildrenList(SubListAPIView):
model = Group
serializer_class = GroupSerializer
parent_model = Group
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)
except_pks = set([parent.pk])
except_pks.update(parent.all_parents.values_list('pk', flat=True))
except_pks.update(parent.all_children.values_list('pk', flat=True))
return qs.exclude(pk__in=except_pks)
class GroupHostsList(SubListCreateAPIView):
''' the list of hosts directly below a group '''