本文整理汇总了Python中Products.CMFCore.PortalFolder.PortalFolderBase.invokeFactory方法的典型用法代码示例。如果您正苦于以下问题:Python PortalFolderBase.invokeFactory方法的具体用法?Python PortalFolderBase.invokeFactory怎么用?Python PortalFolderBase.invokeFactory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Products.CMFCore.PortalFolder.PortalFolderBase
的用法示例。
在下文中一共展示了PortalFolderBase.invokeFactory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: invokeFactory
# 需要导入模块: from Products.CMFCore.PortalFolder import PortalFolderBase [as 别名]
# 或者: from Products.CMFCore.PortalFolder.PortalFolderBase import invokeFactory [as 别名]
def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
"""Invokes the portal_types tool
"""
mode = self.getConstrainTypesMode()
# Short circuit if we are disabled or acquiring from non-compatible
# parent
# if mode == DISABLED or \
# (parent and parent.portal_types != self.portal_types):
if mode == DISABLED or (mode == ACQUIRE and not parentPortalTypeEqual(self)):
return PortalFolder.invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw)
if not type_name in [fti.getId() for fti in self.allowedContentTypes()]:
raise Unauthorized("Disallowed subobject type: %s" % type_name)
pt = getToolByName(self, "portal_types")
args = (type_name, self, id, RESPONSE) + args
return pt.constructContent(*args, **kw)