示例#1
0
def viewletManager(
    _context, name, permission,
    for_=Interface, layer=interfaces.IFlourishLayer, view=interfaces.IPageBase,
    provides=interfaces.IViewletManager,
    class_=ViewletManager, template=None,
    update='update', render='render',
    allowed_interface=(), allowed_attributes=(),
    **kwargs):

    bases = (class_, )
    if not interfaces.IViewletManager.implementedBy(class_):
        bases = bases + (ViewletManager, )
    class_ = type(class_.__name__, bases, {})

    allowed_interface = (tuple(allowed_interface) +
                         (interfaces.IViewletManager, ))

    if not provides.implementedBy(class_):
        classImplements(class_, provides)

    contentDirective(
        _context, name, permission,
        for_=for_, layer=layer, view=view,
        class_=class_, template=template,
        update=update, render=render,
        allowed_interface=allowed_interface,
        allowed_attributes=allowed_attributes,
        **kwargs)
def pageBreadcrumbsDirective(
    _context, name=u'breadcrumbs', permission=u'zope.Public',
    for_=Interface, layer=interfaces.IFlourishLayer, view=interfaces.IPage,
    class_=None, show_page_title=True,
    **kwargs):

    if class_ is None:
        if show_page_title:
            class_ = PageBreadcrumbs
        else:
            class_ = Breadcrumbs

    kwargs = dict(kwargs)
    _crumb_parent_factory = kwargs.get('crumb_parent')
    _follow_crumb_factory = kwargs.get('follow_crumb')

    if _crumb_parent_factory is not None:
        kwargs['crumb_parent'] = property(
            lambda crumb: _crumb_parent_factory(crumb.context))

    if _follow_crumb_factory is not None:
        kwargs['follow_crumb'] = property(
            lambda crumb: _follow_crumb_factory(
                crumb.crumb_parent, crumb.request, crumb.view))

    contentDirective(
        _context, name, permission,
        for_=for_, layer=layer, view=view,
        class_=class_, **kwargs)
示例#3
0
def viewletManager(_context,
                   name,
                   permission,
                   for_=Interface,
                   layer=interfaces.IFlourishLayer,
                   view=interfaces.IPageBase,
                   provides=interfaces.IViewletManager,
                   class_=ViewletManager,
                   template=None,
                   update='update',
                   render='render',
                   allowed_interface=(),
                   allowed_attributes=(),
                   **kwargs):

    bases = (class_, )
    if not interfaces.IViewletManager.implementedBy(class_):
        bases = bases + (ViewletManager, )
    class_ = type(class_.__name__, bases, {})

    allowed_interface = (tuple(allowed_interface) +
                         (interfaces.IViewletManager, ))

    if not provides.implementedBy(class_):
        classImplements(class_, provides)

    contentDirective(_context,
                     name,
                     permission,
                     for_=for_,
                     layer=layer,
                     view=view,
                     class_=class_,
                     template=template,
                     update=update,
                     render=render,
                     allowed_interface=allowed_interface,
                     allowed_attributes=allowed_attributes,
                     **kwargs)