尽管拥有所有权限,但Wagtail“等待审核的页面”未显示在仪表板中

2024-07-05 09:02:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我觉得我漏掉了一些非常明显的东西,但是如果我在默认编辑/版主组+中,用户就是超级用户。。。。在

提交供审核的页面不应该显示在wagtail仪表板下吗?在

我想我可能错过了一个权限,所以我去了管理员,添加了每个选项那里,仍然没有骰子。。。。。在

需要什么来调节提交给国防部批准的页面?在

示例:

我从create视图以编程方式提交一个页面,以便进行审核,方法是执行以下操作:

  my_page = self.index.add_child(instance=my_page_instance)
  my_page.unpublish()
  my_page.save_revision(submitted_for_moderation=True)
  if not send_notification(my_page.get_latest_revision().id, 'submitted', None):
      print("Failed to send notification + email for mod approval")

Tags: instance用户send权限编辑formypage
1条回答
网友
1楼 · 发布于 2024-07-05 09:02:22

问题是,当以编程方式创建修订时,必须在save_revision方法调用的同时提供一个用户记录。它可以是任何用户记录。在

示例:

from django.contrib.auth.models import User

some_admin_user = User.objects.all().first() # or request.user if you are doing this where you can access the current request
my_page.save_revision(submitted_for_moderation=True, user=some_admin_user)

原因

生成的主视图的PagesForModerationPanel将选择相关的页面和用户,以进行任何需要调整的修订。当没有用户被传递到新修订时,这意味着这些修订将不会显示在管理中,因为查询不会返回它们。在

参见admin/views/home.py中的代码

^{pr2}$

作为一个潜在的bug提交它可能是值得的,如果在用户没有提交修订保存的情况下抛出一个错误可能会更好。在

相关问题 更多 >