Esempio n. 1
0
def sortblocks(request, group):
    if request.method != 'POST' or not request.user.is_authenticated:
        raise Exception

    # Now resort it ..
    print(str(request.POST))
    #return HttpResponse('')
    for blockregion in request.POST.getlist('block_region'):
        sortorder = request.POST[blockregion]
        print("sortorder for %s: %s" % (blockregion, str(sortorder)))


        region = get_or_create_region(get_current_group(),
                                      request.user,
                                      blockregion)

        block_instances = BlockInstancePosition.objects.filter(region = region,)
        block_instances.delete()

        if not sortorder:
            continue

        idorder = [e.split('=')[1] for e in sortorder.split('&')]

        pos=1
        for id in idorder:
            # TODO add permission checking ?
            block_config = BlockConfiguration.objects.get( pk = id )
            BlockInstancePosition(region = region,
                                  block_configuration = block_config,
                                  sortorder = pos).save()
            pos+=1

    return HttpResponse('')

    blockregion = request.POST['block_region']
    sortorder = request.POST['sortorder']
    idorder = [e.split('=')[1] for e in sortorder.split('&')]
    region = get_or_create_region(get_current_group(),
                                  request.user,
                                  blockregion)

    block_instances = BlockInstancePosition.objects.filter(region = region,)
    block_instances.delete()

    pos=1
    for id in idorder:
        # TODO add permission checking ?
        block_config = BlockConfiguration.objects.get( pk = id )
        BlockInstancePosition(region = region,
                              block_configuration = block_config,
                              sortorder = pos).save()
        pos+=1
    return HttpResponse( 'Sorted all blocks.' )
Esempio n. 2
0
def addblock(request, group):
    region_name = request.POST['region']
    region = get_or_create_region(group, request.user, region_name)
    try:
        lastblock = BlockInstancePosition.objects.filter(region = region).\
            order_by('-sortorder')[0]
        sortorder = lastblock.sortorder + 1
    except IndexError:
        sortorder = 1

    block_config = BlockConfiguration.objects.get(
        pk = request.POST['block_config'] )

    pos = BlockInstancePosition(region = region,
                                sortorder = sortorder,
                                block_configuration = block_config)
    pos.save()
    #print "sortorder: %d" % sortorder

    return HttpResponseRedirect( '/' )