2011-12-18 4 views
2

イベントリスナーをカスタム製品に追加しようとしているため、@@個人情報ページが保存されたときに電子メールを送信できます。Plone 4:ユーザー情報が更新されたときに電子メールを送信する

私は自分のconfigure.zcmlに次のように入れてみました:

<subscriber 
    for="Products.PluggableAuthService.interfaces.events.IPropertiesUpdatedEvent" 
    handler=".handlers.userupdate" 
    /> 

そして、私のhandlers.pyに:

def userupdate(event): 
""" Handler for User Properties Updated """ 
... code to send email... 

私はすべてのエラーを受信して​​いないんだけど、何も起こりません。それは聞くべき正しい出来事ではありませんか?これを達成するより良い方法はありますか?

答えて

1

これは正しいアプローチであり、あなたのコードは私にはうまく見えます。あなたのuserupdate方法にPDB-文を設定し、ユーザーの個人情報を編集するときに、コードが呼び出されたかどうかを確認するために、フォアグラウンド(「ビン/インスタンスFG」)でインスタンスを起動しよう:

def userupdate(event): 
    import pdb; pdb.set_trace() 

メソッドがまったく呼び出されない場合、これはバグかもしれません。おそらく、この1:

https://bugs.launchpad.net/zope-pas/+bug/795086

は、このバグが修正されたProducts.PluggableAuthServiceのより新しいバージョンを使用してみてください。

http://pypi.python.org/pypi/Products.PluggableAuthService

Products.PluggableAuthService 1.7.6を使用して、リリースノートによると、トリックを行う必要があります。

関連する問題