如何为所有新用户将ext_editor设置为True?

时间:2012-07-28 00:36:40

标签: plone

我正在使用Plone 4.1和collective.externaleditor。我希望无论何时创建新用户,他的个人偏好ext_editor都将设置为True。

我订阅了用户创建活动,但我无法更改该属性:

configure.zcml中:

 ...
 <subscriber
      for="Products.PluggableAuthService.interfaces.events.IPrincipalCreatedEvent"
      handler=".events.newUser"
      />

events.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?

感谢。

1 个答案:

答案 0 :(得分:3)

这是我找到的答案。

<强>简档/默认/ memberdata_properties.xml:

<?xml version="1.0"?>
<object name="portal_memberdata" meta_type="Plone Memberdata Tool">
 <property name="ext_editor" type="boolean">True</property>
</object>