gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:05 33 4
gpt4 key购买 nike

我们有一个实用程序 ( collective.contentalerts ) 检查对象的内容(比如一篇文章)是否足够(不包含坏词)。

到目前为止,我们一直在将它与 plone.app.contentrules 一起使用,以便在发生这种情况时发送电子邮件。

现在我们要更进一步:

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

所以问题是:有没有办法拦截工作流转换,并给定一些逻辑(我们的实用程序)将预期的工作流转换更改为另一个?

特别好的是,正常用户不应在工作流转换下拉列表中看到这种到审核状态的转换。

最佳答案

我认为没有必要拦截转换:向用户显示将对象发送到状态“needs_review”的转换“publish”

使用从状态“needs_review”到“public”的自动转换,该状态 protected 以检查文章是否正常(不包含黑名单中的词等)

这样用户就可以看到“发布”过渡(而不是“发送到审核”)。

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

想想这样的事情:

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

其中 myview 可以是执行所有需要的检查并返回 True/False 的公共(public) View 。

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

screenshot of transition configuration

如果您点击表达式字段旁边的 [?] 问号链接,您将获得有关可用变量的更多信息。

关于python - Plone:拦截工作流转换并以编程方式将其更改为另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35157543/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com