【发布时间】:2016-05-30 08:27:45
【问题描述】:
我在 Plone 4.3.9 中创建了一个自定义类型灵巧性,称为 PersonalPage,它必须只允许在特定文件夹 Members_folder/userfolder 中使用。
在他的 FTI 中,默认为 <property name="global_allow">False</property>。
在 Plone 4.3.3 中,使用经过身份验证的用户的 uid 在 Members_folder 中创建用户文件夹:
if homefolder is None:
# create userfolder in members_folder
members_folder.invokeFactory('Folder', user_id)
userfolder = members_folder[user_id]
utils = userfolder.plone_utils
utils.changeOwnershipOf(userfolder, user_id,
1, None)
userfolder.setCreators([user_id])
roles = list(userfolder.get_local_roles_for_userid(user_id))
if 'Owner' not in roles:
roles.append('Owner')
userfolder.manage_setLocalRoles(user_id, roles)
if shasattr(userfolder, 'canSetConstrainTypes'):
userfolder.setConstrainTypesMode(1)
defaultAllowedTypes = userfolder.getLocallyAllowedTypes()
userfolder.setLocallyAllowedTypes(defaultAllowedTypes + ('personalpage',))
defaultAddableTypes = userfolder.getImmediatelyAddableTypes()
userfolder.setImmediatelyAddableTypes(defaultAddableTypes + ('personalpage',))
userfolder.reindexObjectSecurity()
userfolder.reindexObject()
但在运行此脚本后,内容类型 PersonalPage 不会出现在用户文件夹的可添加和允许的内容类型列表中。 这有什么问题?是否有另一种方法可以允许只能为文件夹添加内容类型?
【问题讨论】:
标签: plone