我觉得我错过了一些非常明显的东西,但如果我在默认的编辑/主持人组中+用户是超级用户......
不应该在wagtail仪表板下显示提交审核的页面吗?
我以为我可能错过了权限,所以我去了管理员并在那里添加了每个选项但仍然没有骰子......
能够审核提交给mod审批的页面需要什么?
示例:
我通过以下方式从创建视图以编程方式提交页面以进行审核:
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")
答案 0 :(得分:2)
问题是,当您以编程方式创建修订时,必须提供用户记录以及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
选择相关页面和用户到需要审核的任何修订版。如果没有用户传递给新版本,则意味着这些修订不会显示在管理员中,因为查询不会返回它们。
self.page_revisions_for_moderation = (user_perms.revisions_for_moderation()
.select_related('page', 'user').order_by('-created_at'))
将此作为潜在错误提交可能是值得的,如果在未提交修订版保存的用户时抛出错误,则可能会更好。