Plone memberdata更新:未触发PropertiesUpdatedEvent

时间:2013-08-08 18:43:21

标签: python events event-handling plone zope

我正在尝试在@@ personal-information上更新成员属性后执行操作,但事件未被触发。在configure.zcml上我提出了以下内容:

<subscriber
    for="Products.PluggableAuthService.interfaces.events.IPropertiesUpdatedEvent"
    handler=".subscribers.propertiesUpdated"
/>

我已经尝试使用ipdb检查subscriber.py的propertiesUpdated是否正在执行,但事实并非如此。

我已经检查了https://bugs.launchpad.net/zope-pas/+bug/795086错误报告,该错误已经修复,但它仍然无效。

我正在使用PluggableAuthService 1.10.0。

有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

在Plone代码中未触发PropertiesUpdated事件(实现IPropertiesUpdatedEvent)(查看Plone 4.3)。

更改帐户信息后,唯一触发的事件是plone.app.controlpanel.events.ConfigurationChangedEvent。您可能希望订阅该事件并过滤(因为此事件是在很多地方触发的通用事件)。

我做的事情就是知道在一个动作之后触发了什么事件:我在zope.event.notify(print event, event.__dict__)中添加一个print语句并以前台模式开始。

您可能希望在https://dev.plone.org上要求增强功能,或者更好地实施它。 plone.app.users包是一个很好的起点。