我正在使用 Plone 4.1 和collective.externaleditor。我希望每当创建新用户时,将他的个人偏好 ext_editor 设置为 True。
我订阅了用户创建事件,但我无法更改该属性:
配置.zcml:
...
<subscriber
for="Products.PluggableAuthService.interfaces.events.IPrincipalCreatedEvent"
handler=".events.newUser"
/>
事件.py:
from zope.app.component.hooks import getSite
from Products.CMFCore.utils import getToolByName
def newUser(user):
'''Sets external editor property to True for new users.'''
mtool = getToolByName(getSite(), 'portal_membership')
# what should i put here?
user.principal.setProperties({'ext_editor': True})
newUser 没有做它的工作。user.principal 的类型是 Ploneuser。它没有 setMemberProperties 方法,所以我不知道该怎么做。
collective.externaleditor 也向控制面板添加了一个属性“ext_editor”,所以我可以通过编程方式对其进行更改。
如何为新创建的用户将 ext_editor 设置为 True?
谢谢。