Drupal(+ CCK)权限基于相关节点字段

时间:2010-01-16 18:39:57

标签: drupal cck

假设我有两种内容类型,“工作列表”和“工作申请”。作业应用程序具有一个字段(使用CCK模块)来引用作业列表(必填字段)。假设作业应用程序的字段为“状态”,其值为“新”,“已接受”,“已拒绝”。

我想设置权限,以便作业应用程序状态只能由其对应的作业列表的创建者设置。如果有一个插件可以做到这一点很棒。我还想了解自定义插件如何实现这一点的一般方向。

(我正在遵循O'Reilly的“使用Drupal”第3章中的情节)

2 个答案:

答案 0 :(得分:2)

我不知道是否有一个模块,但是这可以通过一些自定义代码很容易地完成。

  1. 使用hook_form_alter将您自己的验证处理程序添加到应用程序内容类型的node_edit表单中。
  2. 检查值是否已更改
  3. 设置错误,即用户不是创建者或拥有管理员内容权限。
  4. 你已经完成了。

答案 1 :(得分:1)

googletorp的方向正确,但您还需要处理更多权限。

  • 删除应用程序内容类型的编辑自己的权限。
  • 此外,您可能不希望一个职位列表的作者编辑应用程序以响应其他职位列表。这对于任何内置权限都很难。因此,请检查form_alter挂钩,即当前用户与正在编辑的应用程序所连接的作业列表的作者相同。