Пример #1
0
    def path(self, instance):
        PATH_MAX_LENGTH = 8

        path = []
        counter = 1
        candidate = instance
        candidates = Node.where_is_admin_or_superadmin(self.view.request.user)

        while candidate in candidates and counter < PATH_MAX_LENGTH:
            path.append(candidate)
            candidate = candidate.parentnode
            counter += 1

        path.reverse()

        serializer = PathElementResource()

        return serializer.serialize_iter(path)
Пример #2
0
 def get_queryset( self ):
     nodes = Node.where_is_admin_or_superadmin( self.request.user ).filter(
         parentnode__pk=self.kwargs['parentnode__pk']
     )
     return nodes
Пример #3
0
 def get_queryset( self ):
     nodes = Node.where_is_admin_or_superadmin( self.request.user )
     nodes = nodes.exclude( parentnode__in=nodes )
     return nodes