示例#1
0
def generate_blocks_configuration_for_content(request, block_id):
    assert_has_global_permission(user=request.user, codename=MANAGE_BLOCK_PERMISSION)
    try:
        reg_block = RegisteredBlock.objects.get(id=block_id)
        block = reg_block.get_registry_item()
        form = BlockConfigForm()
        form.fields['config'].set_config(block.get_config())
        result = form.as_django_admin()
        result = result.replace('<fieldset class="module aligned">', '')
        result = result.replace('</fieldset>', '')
        result = result.replace('<div class="form-row">', '')
        result = result[::-1].replace('>vid/<', '', 1)[::-1]
        # previous replace just removes the last </div> ocurrence
        result = result.replace(_('Configuration'), _('Block specific configuration'))
        result += '<p class="help">Fill this field to overwrite the block configuration</p>'
    except RegisteredBlock.DoesNotExist:
        result = ''
    return HttpResponse(result, mimetype='text/html')
示例#2
0
def generate_blocks_configuration(request, block_id):
    assert_has_global_permission(user=request.user, codename=MANAGE_BLOCK_PERMISSION)
    reg_block = RegisteredBlock.objects.get(id=block_id)
    block = reg_block.get_registry_item()
    config = block.get_config()
    if request.method == 'POST':
        form = BlockConfigForm(request.POST)
        form.fields['config'].set_config(config)
        if form.is_valid():
            reg_block.config = form.cleaned_data['config']
            reg_block.save()
            return HttpResponse('ok')
    else:
        form = BlockConfigForm()
        form.fields['config'].set_config(config)
    return render_to_response('blocks/block_config.html', {
        'form': form,
        'reg_block': reg_block,
        'block': block,
    })