3

我们正在尝试为 Plone 文档管理系统实施自定义结帐策略。在此,我们希望能够在一段时间后获得已发布文件的工作副本。

迭代似乎很适合这个。

但是,我们只希望结帐可用于已发布的文档。所以这是推理.... 由于工作流控制多个权限,我们将“迭代:签入内容”和“迭代:签出内容”都添加到了 portal_workflow 工具的权限选项卡中。然后,我们在各个工作流程状态的权限选项卡中为具有结帐权限的人员标记了复选框。但是,在前端,无论文档处于何种状态,每个人都可以选择签出文档。

我们缺少什么?

PS:我们已经查看了有关 “工作副本工作流程自定义”的文档,我们认为这与更改已签出文档的工作流程有关,这不是这里的意图......

4

1 回答 1

4

我认为这里的问题是 plone.app.iterate/browser/control:Control 中的 checkout_allowed 方法。

在允许用户签出之前它不会检查任何权限(它假设他们的用户可以查看它,他们应该被允许将其签出到主文件夹等 - 我想这是一个合理的用例)。

然后,在 portal_actions/object_buttons/iterate_checkout 中,它只是使用“查看”权限来允许将按钮放置在那里。

因此,要完全正确,您必须自定义 checkout_allowed 方法和操作中使用的权限。

要快速简单地做到这一点,以便用户看不到按钮,请将按钮权限更改为“迭代:结帐内容”。

于 2012-04-04T13:37:13.040 回答