【问题标题】:Drupal (+CCK) permissions based on related node field基于相关节点字段的 Drupal (+CCK) 权限
【发布时间】:2010-01-16 18:39:57
【问题描述】:

假设我有两个内容类型,“职位列表”和“职位申请”。工作申请有一个字段(使用 CCK 模块)来引用工作列表(必填字段)。假设工作申请有一个字段“状态”,其中包含“新”、“接受”、“拒绝”等值。

我想设置权限,以便职位申请状态只能由其对应的职位列表的创建者设置。如果有一个插件可以做到这一点。我还想了解自定义插件如何实现这一点的一般指导。

(我正在关注 O'Reilly 的“使用 Drupal”第 3 章中的场景)

【问题讨论】:

标签: drupal cck


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    googletorp 的路线在正确的轨道上,但您还需要处理更多权限。

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

    【讨论】:

    • 您实际上不需要花时间在权限上。每当有人尝试编辑所选字段时,您都可以抛出一个表单错误。这将有效地停止用户编辑,因为表单不会验证。但是,具有管理内容的信件用户编辑该字段可能是一个好主意,因为这就是该权限的用途。
    • 谢谢两位。我需要稍微玩一下 Drupal 是全新的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    相关资源
    最近更新 更多