我想用“manage_setLocalRoles”方法附加事件的触发器。 像这样:
def send_participation_request(self):
review_state = self.portal_workflow.getInfoFor(self.context, "review_state", "")
if review_state =="public":
self.context.manage_setLocalRoles(user.id,["Role"]) #fire event
self.context.reindexObjectSecurity()
return False
有什么建议吗?
答案 0 :(得分:1)
.manage_setLocalRoles()
不会发出任何事件。该代码早于Zope 3事件。
你必须改为创建一个猴子补丁钩子,否则只要你自己的代码调用那个方法就自己发出一个事件。