Example #1
0
def treeinit( request ):

    myopen = request.GET.get('open')
    mylayers = request.GET.get('layers')


    if myopen and not mylayers:
        qs = models.layertreenode.objects.all().filter( parent_id__in = myopen.split(",") ).distinct('id')

    elif mylayers and not myopen:
        qs = models.layertreenode.objects.all().filter( id__in = mylayers.split(",") ).distinct('id')
    
    elif mylayers and myopen:
        qs = (models.layertreenode.objects.all().filter( parent_id__in = myopen.split(",") ) | 
              models.layertreenode.objects.all().filter( id__in = mylayers.split(",") ).distinct('id') )

    else:
        qs = models.layertreenode.objects.all().filter( id = 1 )

    print gc.get_referrers( models.layertreenode.objects)   
    print 'qs'
    print qs
    layers = models.layertreenode.objects.all().get_queryset_ancestors(qs, include_self=True).distinct('id')
    print 'layers'
    print layers
    newlayers = subtc( qs )

    serializer = layertreenodeSerializer( newlayers )

    return JSONResponse(serializer.data)
Example #2
0
def treejson( request, id ):

    layers = models.layertreenode.objects.all()
    newlayers = subtc( layers )

    serializer = layertreenodeSerializer( newlayers )

    return JSONResponse(serializer.data)
Example #3
0
def treebranch( request ):

    myid = request.GET.get('id')

    layers = models.layertreenode.objects.all().filter( parent = myid )
    newlayers = subtc( layers )

    serializer = layertreenodeSerializer( newlayers )

    return JSONResponse(serializer.data)
Example #4
0
def query(request, myid = None):

    ##### get method #####

    if request.method == 'GET':

        if myid is None:
            myid = request.GET.get('id', None)
            myparent = request.GET.get('parent', None)

        if myid is not None:
            try:
                layers = models.layertreenode.objects.all().filter( id = myid)
            except models.layertreenode.DoesNotExist:
                return Response(status=status.HTTP_404_NOT_FOUND)

            newlayers = subtc( layers )
            serializer = layertreenodeSerializer(newlayers[0])

            return JSONResponse(serializer.data)

        elif myparent is not None:
            try:
                layers = models.layertreenode.objects.all().filter( parent = myparent)
            except models.layertreenode.DoesNotExist:
                return Response(status=status.HTTP_404_NOT_FOUND)

            newlayers = subtc( layers )
            serializer = layertreenodeSerializer(newlayers)

            return JSONResponse(serializer.data)
        
        else:
            serializer = layertreenodeSerializer([])

            return JSONResponse(serializer.data)