Получение списка переходов для всех рабочих процессов в цепочке рабочих процессов объекта - PullRequest
2 голосов
/ 16 сентября 2011

У меня есть объект с двумя рабочими процессами.

obj.portal_workflow.getTransitionsFor(obj)

возвращает только переходы из основного рабочего процесса.

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

Как дела?

transitions = []
for i, obj in enumerate(self.items):
    for w in workflow.getWorkflowsFor(obj):
        for tid,t in w.transitions.items():
            if w.isActionSupported(obj, tid):
                if t not in transitions:
                    transitions.append(t)
return transitions

Campbell

Ответы [ 2 ]

2 голосов
/ 16 сентября 2011

Для того, что я вижу в исходном коде getTransitionsFor, он должен вернуть вам все переходы для всех рабочих процессов.

http://svn.plone.org/svn/plone/Products.CMFPlone/tags/4.1/Products/CMFPlone/WorkflowTool.py

0 голосов
/ 16 сентября 2011

То, что у вас есть, должно работать просто отлично. Но вы можете рассмотреть возможность использования метода, уже доступного в ответе @ keul.

...