代码之家  ›  专栏  ›  技术社区  ›  Frank Schwieterman

基于相关节点字段的drupal(+cck)权限

  •  0
  • Frank Schwieterman  · 技术社区  · 15 年前

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

    我想设置权限,以便作业应用程序状态只能由其对应的作业列表的创建者设置。如果有一个插件可以做到这一点。我还希望得到有关自定义加载项如何实现此功能的一般指导。

    (我在遵循奥雷利的《使用德鲁帕尔》第3章中的场景)

    2 回复  |  直到 15 年前
        1
  •  2
  •   googletorp    15 年前

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

    1. 使用 hook_form_alter 将您自己的验证处理程序添加到应用程序内容类型的节点编辑表单中。
    2. 检查值是否已更改
    3. 设置错误为用户不是创建者或具有“管理内容”权限。
    4. 你完了。
        2
  •  1
  •   abhaga    15 年前

    googletorp提供的指导是正确的,但是您还需要考虑更多的权限。

    • 删除应用程序内容类型的“编辑自己”权限。
    • 另外,您可能不希望一个作业列表的作者编辑应用程序以响应其他作业列表。这很难处理任何内置权限。因此,请检查表单“alter hook”,确认当前用户与要编辑的应用程序所连接到的作业列表的作者相同。
    推荐文章