0

我想用“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

有什么建议么?

4

1 回答 1

1

.manage_setLocalRoles()不发出任何事件。该代码早于 Zope 3 事件。

您必须创建一个猴子补丁挂钩,或者在您自己的代码调用该方法时自己发出一个事件。

于 2013-03-27T14:34:12.373 回答