Plone:截取一个工作流转换并以编程方式将其更改为另一个工作流转换

2024-05-29 04:45:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一个实用工具(collective.contentalerts),它检查对象(比如一篇文章)的内容是否足够(不包含坏词)。你知道吗

到目前为止,我们一直在使用它与plone.app.contentrules一起发送电子邮件。你知道吗

现在我们想更进一步:

普通用户仍然可以创建他们的文章,但是每当他们试图公开这些文章时,如果实用程序在文章中发现可疑内容,它应该将其置于另一个状态(即,进行另一个工作流转换)。你知道吗

所以问题是:有没有一种方法可以截获工作流转换,并且给定一些逻辑(我们的实用程序)将预期的工作流转换更改为另一个?你知道吗

特别好的是,在工作流转换下拉列表中,普通用户不应该看到这种到调节状态的转换。你知道吗


Tags: 对象方法实用程序app内容电子邮件状态plone
1条回答
网友
1楼 · 发布于 2024-05-29 04:45:37

我认为没有必要截取转换:向用户显示转换“publish”,它将对象发送到状态“needs\u review”

使用一个从“needs\u review”状态到“public”状态的自动转换,该状态由一个检查文章是否正常的视图保护(不包含黑名单中的单词等)

这样用户就可以看到“发布”转换(而不是“发送到仲裁”)。你知道吗

有关如何配置保护表达式的示例可以在Poi add-on上找到。你知道吗

想想这样的事情:

<guard-expression>here/@@myview</guard-expression>

其中myview可以是执行所有所需检查并返回True/False的公共视图。你知道吗

转换的触发类型必须是自动的,而不是“由用户启动”(参见屏幕截图)

screenshot of transition configuration

如果你按照[?]“表达式”字段旁边的问号链接可以获得有关可用变量的更多信息。你知道吗

相关问题 更多 >

    热门问题