2

私はPlone4.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に設定するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

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>
于 2012-07-28T12:50:16.743 に答える