获取对象工作流程链中所有工作流程的转换列表

发布于 2024-12-05 02:46:04 字数 493 浏览 2 评论 0原文

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

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

坎贝尔

I have an object with two workflows.

obj.portal_workflow.getTransitionsFor(obj)

returns only transitions from the primary workflow.

I've written the following code to get a list of all possible transitions for all items in a list.

How am I doing?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮生未歇 2024-12-12 02:46:04

对于我在 getTransitionsFor 源代码中看到的内容,它必须返回所有工作流程的所有转换。

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

For what I see in the getTransitionsFor source code, it must returns you all transition for all workflows.

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

旧瑾黎汐 2024-12-12 02:46:04

你所拥有的应该可以正常工作。但您可能需要考虑使用@keul 的答案中已有的方法。

What you have should work just fine. But you may want to consider using the method already available in @keul's answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文