2013-03-27 4 views
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 

Любые предложения?

ответ

1

.manage_setLocalRoles() не содержит никаких событий. Код предшествует событиям Zope 3.

Вам нужно будет создать крючок для исправления обезьяны или иначе выпустить событие самостоятельно, когда ваш собственный код вызывает этот метод.

+0

Можно ли это сделать с помощью .reindexObject()? Спасибо за помощь! – jtmolon

+0

@jtmolon: '.reindexObject()' также не генерирует событие. Есть, однако, события рабочего процесса, когда происходят переходы, возможно, именно это вы ищете? –

+0

На самом деле, я просто меняю роль члена в контенте, в процессе процесса не происходит процесса. Что мне нужно сделать, это обновить список после изменения роли. – jtmolon

Смежные вопросы