2013-08-08 31 views
6

Tôi đang cố gắng thực hiện một hành động sau khi cập nhật thuộc tính thành viên trên @@ thông tin cá nhân, nhưng sự kiện này không được kích hoạt. Trên configure.zcml tôi đã đặt như sau:Cập nhật thành viên Plone: ​​PropertiesUpdatedEvent không được kích hoạt

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

Tôi đã cố gắng sử dụng ipdb để kiểm tra xem thuộc tínhCập nhật của users.py đang được thực thi, nhưng không.

Tôi đã kiểm tra báo cáo lỗi https://bugs.launchpad.net/zope-pas/+bug/795086, cho biết lỗi này đã được khắc phục nhưng vẫn không hoạt động.

Tôi đang sử dụng PluggableAuthService 1.10.0.

Có cách nào tốt hơn để giải quyết vấn đề này không?

+2

Lỗi https://bugs.launchpad.net/zope-pas/+bug/795086 là về các sự cố trong chính sự kiện không phải là sự kiện không được kích hoạt. IMHO đó là một lỗi mới. – amleczko

+0

Có thể là lý do: https://dev.plone.org/ticket/13661? –

+0

Tôi không thấy [dev.plone.org/ticket/13661](https://dev.plone.org/ticket/13661) có liên quan đến vấn đề này – jtmolon

Trả lời

1

Sự kiện PropertiesUpdated (triển khai IPropertiesUpdatedEvent) không được kích hoạt trong mã Plone (xem Plone 4.3).

Sự kiện duy nhất được kích hoạt khi bạn thay đổi thông tin tài khoản là plone.app.controlpanel.events.ConfigurationChangedEvent. Bạn có thể muốn đăng ký sự kiện và bộ lọc đó (vì sự kiện này là sự kiện chung được kích hoạt ở nhiều nơi).

Điều gì đó tôi biết để biết sự kiện nào được kích hoạt sau khi thực hiện hành động: Tôi thêm lệnh in trong zope.event.notify (print event, event.__dict__) và bắt đầu ở chế độ nền trước.

Bạn có thể muốn yêu cầu tăng cường trên https://dev.plone.org hoặc triển khai tốt hơn. Gói plone.app.users là một nơi tốt để bắt đầu.

Các vấn đề liên quan