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), )
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()], )
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), )
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)
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), )
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), )
def sync_n_reload_bricks(request): return bricks_render_info(request, bricks=_sync_n_bricks(request))
def reload_callers_brick(request, number): return bricks_render_info(request, bricks=[CallersBrick()], context=build_context(request, number=number), )