kopia lustrzana https://github.com/wagtail/wagtail
Stop history view from breaking if a log entry's revision is missing (#12427)
e.g. after the purge_revisions management command has been runpull/12429/head
rodzic
207e9e50d9
commit
72fb0e9880
|
@ -153,6 +153,7 @@ Changelog
|
|||
* Fix: Fix focal point chooser when localization enabled (Sébastien Corbin)
|
||||
* Fix: Ensure that system checks for `WAGTAIL_DATE_FORMAT`, `WAGTAIL_DATETIME_FORMAT` and `WAGTAIL_TIME_FORMAT` take `FORMAT_MODULE_PATH` into account (Sébastien Corbin)
|
||||
* Fix: Prevent rich text fields inside choosers from being duplicated when opened repeatedly (Sage Abdullah)
|
||||
* Fix: Prevent history view from breaking if a log entry's revision is missing (Matt Westcott)
|
||||
* Docs: Remove duplicate section on frontend caching proxies from performance page (Jake Howard)
|
||||
* Docs: Document `restriction_type` field on PageViewRestriction (Shlomo Markowitz)
|
||||
* Docs: Document Wagtail's bug bounty policy (Jake Howard)
|
||||
|
|
|
@ -99,6 +99,7 @@ This feature was developed by Bart Cieliński, alexkiro, and Sage Abdullah.
|
|||
* Footer action buttons now include their `media` definitions (Sage Abdullah)
|
||||
* Improve the text contrast of the bulk actions "Select all" button (Sage Abdullah)
|
||||
* Fix error on workflow settings view with multiple snippet types assigned to the same workflow on Postgres (Sage Abdullah)
|
||||
* Prevent history view from breaking if a log entry's revision is missing (Matt Westcott)
|
||||
|
||||
### Documentation
|
||||
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
from datetime import timedelta
|
||||
from io import StringIO
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import Group, Permission
|
||||
from django.core.management import call_command
|
||||
from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
from django.utils import timezone
|
||||
|
@ -305,6 +307,26 @@ class TestAuditLogAdmin(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
|
|||
response = self.client.get(reverse("wagtailadmin_reports:site_history"))
|
||||
self.assertContains(response, expected_deleted_string)
|
||||
|
||||
def test_page_history_after_revision_purge(self):
|
||||
self._update_page(self.hello_page)
|
||||
call_command("purge_revisions", days=0, stdout=StringIO())
|
||||
|
||||
history_url = reverse(
|
||||
"wagtailadmin_pages:history", kwargs={"page_id": self.hello_page.id}
|
||||
)
|
||||
|
||||
self.login(user=self.editor)
|
||||
|
||||
response = self.client.get(history_url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
self.assertContains(response, "Created", 1)
|
||||
self.assertContains(response, "Draft saved", 2)
|
||||
self.assertContains(response, "Locked", 1)
|
||||
self.assertContains(response, "Unlocked", 1)
|
||||
self.assertContains(response, "Page scheduled for publishing", 1)
|
||||
self.assertContains(response, "Published", 1)
|
||||
|
||||
def test_edit_form_has_history_link(self):
|
||||
self.hello_page.save_revision()
|
||||
self.login(user=self.editor)
|
||||
|
|
|
@ -165,6 +165,7 @@ class ActionColumn(Column):
|
|||
|
||||
if (
|
||||
(url_name := self.url_names.get("revisions_unschedule"))
|
||||
and instance.revision
|
||||
and instance.revision.approved_go_live_at
|
||||
and self.user_can_unschedule
|
||||
):
|
||||
|
|
Ładowanie…
Reference in New Issue