python – Plone:拦截工作流转换并以编程方式将其更改为另一个
我们有一个实用程序(
collective.contentalerts),它检查对象(比如一篇文章)的内容是否足够(不包含坏词).
到目前为止,我们一直在与plone.app.contentrules一起使用它来发送电子邮件. 现在我们想更进一步: 普通用户仍然可以创建他们的文章,但是当他们试图将其公开时,如果该实用程序在其上发现可疑内容,则应将它们置于另一状态(即,改为进行另一个工作流转换). 所以问题是:有没有办法拦截工作流转换,并且给定一些逻辑(我们的实用程序)将预期的工作流转换到另一个? 额外的好处是,常规用户不应该在工作流转换下拉列表中看到这种向审核状态的转换. 解决方法
我认为没有必要拦截转换:向用户显示转换“发布”,将对象发送到状态“needs_review”
使用从状态“needs_review”到“public”的自动转换,该视图通过视图检查文章是否正常(不包含黑名单中的单词等) 这样用户就可以看到“发布”转换(而不是“发送到审核”). 有关如何配置保护表达式的示例,请参见Poi add-on. 想想这样的事情: <guard-expression>here/@@myview</guard-expression> myview可以是一个公共视图,执行所有需要的检查并返回True / False. 转换的触发类型必须是自动的,而不是“由用户启动”(参见屏幕截图) 如果您按照表达式字段旁边的[?] questionmark链接,则可以获得有关可用变量的更多信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python – 在值数组上调用random.normal会增加噪声吗?
- python – `from x import y` vs.` from x.y import *`
- 如何在matplotlib中创建损坏的垂直条形图?
- python – matplotlib savefig中的区分大小写
- Python基于PycURL实现POST的方法
- python Flask实现restful api service
- Python之Web框架Django项目搭建全过程
- python+pyqt实现右下角弹出框
- 打包的python .app文件崩溃,但打包的python .sh文件工作正常
- python基础while循环及if判断的实例讲解