Workflow 获取对象中所有工作流的转换列表';s工作流链

Workflow 获取对象中所有工作流的转换列表';s工作流链,workflow,plone,Workflow,Plone,我有一个具有两个工作流的对象 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():

我有一个具有两个工作流的对象

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

坎贝尔

我在源代码的GetTransitions中看到,它必须返回所有工作流的所有转换

obj.portal_workflow.getTransitionsFor(obj)

你所拥有的应该很好用。但是你可能想考虑使用在KeUL的答案中已经可用的方法。< /P>太正确了。这件事一直让我心烦意乱,直到昨天我再来看一眼,getTransitionsFor()突然变得闪闪发光。我有一种感觉,从那时起,有人修复了一些不正确的防护或权限,尽管我的python应该解释这些。。还是谢谢你。