kopia lustrzana https://github.com/wagtail/wagtail
Log delete for all descendents of pages, not just direct children
This leads to a misleading audit log, where some pages aren't shown as being deletedpull/8321/head
rodzic
a405beba24
commit
ee03f9d975
|
@ -559,9 +559,8 @@ class Page(AbstractPage, index.Indexed, ClusterableModel, metaclass=PageBase):
|
|||
user=user,
|
||||
deleted=True,
|
||||
)
|
||||
if self.get_children().exists():
|
||||
for child in self.get_children():
|
||||
log_deletion(child.specific, user)
|
||||
for child in self.get_descendants():
|
||||
log_deletion(child.specific, user)
|
||||
log_deletion(self.specific, user)
|
||||
|
||||
# this is a Page instance, so carry on as we were
|
||||
|
|
|
@ -221,16 +221,23 @@ class TestAuditLog(TestCase):
|
|||
child = self.home_page.add_child(
|
||||
instance=SimplePage(title="Another child", slug="child-page-2", content="hello")
|
||||
)
|
||||
child.add_child(
|
||||
instance=SimplePage(
|
||||
title="Grandchild", slug="grandchild-page", content="hello"
|
||||
)
|
||||
)
|
||||
|
||||
child.delete()
|
||||
self.assertEqual(PageLogEntry.objects.filter(action='wagtail.delete').count(), 1)
|
||||
|
||||
# check deleting a parent page logs child deletion
|
||||
# check deleting a parent page logs descendent deletion
|
||||
self.home_page.delete()
|
||||
self.assertEqual(PageLogEntry.objects.filter(action='wagtail.delete').count(), 3)
|
||||
self.assertListEqual(
|
||||
list(PageLogEntry.objects.filter(action='wagtail.delete').values_list('label', flat=True)),
|
||||
['Homepage (simple page)', 'Child (simple page)', 'Another child (simple page)']
|
||||
self.assertEqual(PageLogEntry.objects.filter(action='wagtail.delete').count(), 4)
|
||||
self.assertEqual(
|
||||
set(PageLogEntry.objects.filter(action='wagtail.delete').values_list('label', flat=True)),
|
||||
{
|
||||
'Homepage (simple page)',
|
||||
'Grandchild (simple page)',
|
||||
'Child (simple page)',
|
||||
'Another child (simple page)',
|
||||
},
|
||||
)
|
||||
|
||||
def test_workflow_actions(self):
|
||||
|
|
Ładowanie…
Reference in New Issue