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

发布于 2024-08-18 06:30:02 字数 236 浏览 5 评论 0原文

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

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

(我正在遵循 O'Reilly 的“Using Drupal”第 3 章中的场景)

Suppose I have two content typs, "Job Listing" and "Job Application". A job application has a field (using the CCK module) to reference the job listing (a required field). Suppose the job application has a field "Status" with values like "new", "accepted", "rejected".

I would like to set permissions so that the job application status can only be set by the creator of the job listing it corresponds to. If there is an addon that can do this great. I would also like general direction as to how a custom addon might implement this.

(I am following the scenario in Ch. 3 of O'Reilly's "Using Drupal")

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眉目亦如画i 2024-08-25 06:30:02

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

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

I don't know if there is a module for this but this can be done pretty easily with some custom code though.

  1. Use hook_form_alter to add your own validate handler to the node_edit form for the application content type.
  2. Check to see if the value has changed
  3. Set an error is user isn't the creator or has the administer content permission.
  4. You're done.
邮友 2024-08-25 06:30:02

googletorp 的指示是在正确的轨道上,但您还必须注意更多的权限。

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

Directions by googletorp are on the right track but you will have to take care of some more permissions also.

  • Remove the edit own permission for the application content type.
  • Also you probably do not want author of one job listing editing the applications in response to some other job listing. This is hard to do with any built in permissions. So check in the form_alter hook that current user is the same as the author of the job listing to which the application being edited is connected to.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文