Exemplo n.º 1
0
def view_settings(context, request, va, **kw):
    view = kw['view']
    if not IContentView.providedBy(view):
        return
    if view.settings_schema is not None:
        return """<li role="presentation" class="divider"></li>
            <li><a href="%(url)s">%(title)s</a></li>""" %\
            {'url': request.resource_url(context, 'view_settings'),
             'title': va.title}
Exemplo n.º 2
0
def view_settings(context, request, va, **kw):
    #FIXME: We should probably remove this, it isn't used and was never a good feature...
    view = kw['view']
    if not IContentView.providedBy(view):
        return
    if view.settings_schema is not None:
        return """<li role="presentation" class="divider"></li>
            <li><a href="%(url)s">%(title)s</a></li>""" % \
               {'url': request.resource_url(context, 'view_settings'),
                'title': request.localizer.translate(va.title)}
Exemplo n.º 3
0
def add_content_view(config, type_name, name, view_cls):
    """ Register a view as selectable for a content type.
        view_cls must implement IContentView.
    """
    assert IContentView.implementedBy(view_cls), "view_cls argument must be a class that implements arche.interfaces.IContentView"
    if not name:
        raise ValueError("Name must be specified and can't be an empty string. Specify 'view' to override the default view.")
    if inspect.isclass(type_name):
        type_name = type_name.type_name
    content_factories = get_content_factories(config.registry)
    if type_name not in content_factories:
        raise KeyError('No content type with name %s' % type_name)
    views = get_content_views(config.registry)
    ctype_views = views.setdefault(type_name, {})
    ctype_views[name] = view_cls
Exemplo n.º 4
0
def add_content_view(config, type_name, name, view_cls):
    """ Register a view as selectable for a content type.
        view_cls must implement IContentView.
    """
    assert IContentView.implementedBy(
        view_cls
    ), "view_cls argument must be a class that implements arche.interfaces.IContentView"
    if not name:
        raise ValueError(
            "Name must be specified and can't be an empty string. Specify 'view' to override the default view."
        )
    if inspect.isclass(type_name):
        type_name = type_name.type_name
    content_factories = get_content_factories(config.registry)
    if type_name not in content_factories:
        raise KeyError('No content type with name %s' % type_name)
    views = get_content_views(config.registry)
    ctype_views = views.setdefault(type_name, {})
    ctype_views[name] = view_cls