跳转到主要内容

一个小型包装程序,用于添加对collective.proxyprops的支持

项目描述

简介

此包监听IChildSiteCreation事件,然后向该子站点添加代理属性本地实用程序。

此包以及代理属性包是概念证明,可能需要重写:)

Lineage Proxy Props 测试

首先是一点设置

>>> import zope.component
>>> from p4a.subtyper import interfaces
>>> from Products.CMFCore.interfaces import IPropertiesTool

让我们启用一个子站点。

首先,我们注册默认的引擎实用程序。

>>> from p4a.subtyper import engine
>>> zope.component.provideUtility(engine.Subtyper())

现在我们可以根据需要查询引擎。

>>> subtyper = zope.component.getUtility(interfaces.ISubtyper)
>>> self.login('contributor')
>>> _ = self.portal.invokeFactory("Folder", "folder")

最初,我们创建的简单文件夹没有子类型。

>>> subtyper.existing_type(self.portal.folder) is None
True
>>> subtyper.change_type(self.portal.folder, u'collective.lineage.childsite')
>>> subtyper.existing_type(self.portal.folder)
<DescriptorWithName name=collective.lineage.childsite; descriptor=<collective.lineage.descriptors.ChildSiteDescriptor ...>>
>>> interfaces.ISubtyped.providedBy(self.portal.folder)
True

然后我们测试lineage.proxyprops的订阅者是否已经完成了其工作,并向微站点添加了ProxyProperties实用程序。

>>> sm = self.portal.folder.getSiteManager()
>>> sm.getUtility(IPropertiesTool)
<collective.proxyproperties.ProxyProperties ...>

变更日志

0.1 - (2009-07-10)

  • 初始发布

项目详情


下载文件

为您的平台下载文件。如果您不确定要选择哪一个,请了解更多关于安装包的信息。

源分布

lineage.proxyprops-0.1.tar.gz (9.7 kB 查看哈希)

上传时间:

由以下支持