Esempio n. 1
0
def reload_messages_brick(request, id):
    # TODO: factorise
    sending = get_object_or_404(Sending, id=id)
    request.user.has_perm_to_view_or_die(sending.campaign)

    return bricks_render_info(
        request,
        bricks=[MessagesBrick()
                ],  # TODO: retrieve by 'id_' to allow complete overriding
        context=build_context(request, object=sending),
    )
Esempio n. 2
0
def reload_bricks(request):
    brick_ids = get_brick_ids_or_404(request)
    bricks = []
    get_brick = {brick.id_: brick for brick in _build_portal_bricks()}.get

    for brick_id in brick_ids:
        brick = get_brick(brick_id)

        if not brick:
            raise Http404('Invalid brick ID: ' + brick_id)

        bricks.append(brick)

    return bricks_render_info(request, bricks=bricks)
def reload_model_brick(request, app_name, model_name):
    user = request.user
    app_registry = _get_appconf(user, app_name)
    # model = _get_modelconf(app_registry, model_name).model
    model_config = _get_modelconf(app_registry, model_name)

    user.has_perm_to_admin_or_die(app_name)

    return bricks_views.bricks_render_info(
        request,
        context=bricks_views.build_context(request),
        # bricks=[GenericModelBrick(app_name=app_name, model_name=model_name, model=model)],
        bricks=[model_config.get_brick()],
    )
Esempio n. 4
0
def reload_matrix_brick(request, strategy_id, orga_id):
    brick_id = get_from_GET_or_404(request.GET, 'brick_id')

    if brick_id == AssetsMatrixBrick.id_:
        brick = AssetsMatrixBrick()
    elif brick_id == CharmsMatrixBrick.id_:
        brick = CharmsMatrixBrick()
    elif brick_id == AssetsCharmsMatrixBrick.id_:
        brick = AssetsCharmsMatrixBrick()
    else:
        raise Http404('Invalid brick ID')

    strategy, orga = _get_strategy_n_orga(request, strategy_id, orga_id)

    return bricks.bricks_render_info(
        request,
        bricks=[brick],
        context=bricks.build_context(request, orga=orga, strategy=strategy),
    )
Esempio n. 5
0
def reload_bricks(request):
    brick_ids = get_brick_ids_or_404(request)
    bricks = []
    models = {
        backend.model
        for backend in registry.crudity_registry.get_backends()
        if backend.model
    }
    prefix = 'block_crudity-'

    for brick_id in brick_ids:
        if not brick_id.startswith(prefix):
            raise Http404('Invalid brick ID (bad prefix): ' + brick_id)

        ct = get_ct_or_404(brick_id[len(prefix):])

        if ct.model_class() in models:
            bricks.append(CrudityHistoryBrick(ct))

    return bricks_render_info(request, bricks=bricks)
Esempio n. 6
0
def reload_app_bricks(request, app_name):
    brick_ids = bricks_views.get_brick_ids_or_404(request)
    app_registry = _get_appconf(request.user, app_name)
    bricks = []

    for b_id in brick_ids:
        if b_id == SettingsBrick.id_:
            brick = SettingsBrick()
        else:
            for registered_brick in app_registry.bricks:
                if b_id == registered_brick.id_:
                    brick = registered_brick
                    break
            else:
                raise Http404('Invalid brick id "{}"'.format(b_id))

        bricks.append(brick)

    return bricks_views.bricks_render_info(
        request,
        bricks=bricks,
        context=bricks_views.build_context(request, app_name=app_name),
    )
Esempio n. 7
0
def reload_sending_bricks(request, sending_id):
    sending = get_object_or_404(EmailSending, pk=sending_id)
    request.user.has_perm_to_view_or_die(sending.campaign)

    bricks = []
    allowed_bricks = {
        SendingBrick.id_: SendingBrick,
        SendingHTMLBodyBrick.id_: SendingHTMLBodyBrick,
        MailsBrick.id_: MailsBrick,
    }

    for brick_id in bricks_views.get_brick_ids_or_404(request):
        brick_cls = allowed_bricks.get(brick_id)

        if brick_cls is not None:
            bricks.append(brick_cls())
        else:
            raise Http404('Invalid brick ID')

    return bricks_views.bricks_render_info(
        request,
        bricks=bricks,
        context=bricks_views.build_context(request, object=sending),
    )
Esempio n. 8
0
def sync_n_reload_bricks(request):
    return bricks_render_info(request, bricks=_sync_n_bricks(request))
Esempio n. 9
0
def reload_callers_brick(request, number):
    return bricks_render_info(request, bricks=[CallersBrick()],
                              context=build_context(request, number=number),
                             )