wagtail 6.2.2__py3-none-any.whl → 6.2.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wagtail/__init__.py +1 -1
- wagtail/admin/static/wagtailadmin/js/draftail.js +1 -1
- wagtail/admin/tests/test_audit_log.py +22 -0
- wagtail/admin/tests/test_workflows.py +27 -0
- wagtail/admin/views/generic/history.py +1 -0
- wagtail/admin/views/workflows.py +2 -6
- wagtail/blocks/list_block.py +1 -0
- wagtail/contrib/forms/tests/test_models.py +7 -5
- wagtail/migrations/0047_add_workflow_models.py +0 -0
- wagtail/tests/test_streamfield.py +48 -0
- wagtail-6.2.4.dist-info/METADATA +89 -0
- {wagtail-6.2.2.dist-info → wagtail-6.2.4.dist-info}/RECORD +15 -15
- {wagtail-6.2.2.dist-info → wagtail-6.2.4.dist-info}/WHEEL +1 -1
- wagtail-6.2.2.dist-info/METADATA +0 -78
- {wagtail-6.2.2.dist-info → wagtail-6.2.4.dist-info}/entry_points.txt +0 -0
- {wagtail-6.2.2.dist-info → wagtail-6.2.4.dist-info/licenses}/LICENSE +0 -0
- {wagtail-6.2.2.dist-info → wagtail-6.2.4.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
from datetime import timedelta
|
|
2
|
+
from io import StringIO
|
|
2
3
|
|
|
3
4
|
from django.conf import settings
|
|
4
5
|
from django.contrib.auth.models import Group, Permission
|
|
6
|
+
from django.core.management import call_command
|
|
5
7
|
from django.test import TestCase
|
|
6
8
|
from django.urls import reverse
|
|
7
9
|
from django.utils import timezone
|
|
@@ -305,6 +307,26 @@ class TestAuditLogAdmin(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
|
|
|
305
307
|
response = self.client.get(reverse("wagtailadmin_reports:site_history"))
|
|
306
308
|
self.assertContains(response, expected_deleted_string)
|
|
307
309
|
|
|
310
|
+
def test_page_history_after_revision_purge(self):
|
|
311
|
+
self._update_page(self.hello_page)
|
|
312
|
+
call_command("purge_revisions", days=0, stdout=StringIO())
|
|
313
|
+
|
|
314
|
+
history_url = reverse(
|
|
315
|
+
"wagtailadmin_pages:history", kwargs={"page_id": self.hello_page.id}
|
|
316
|
+
)
|
|
317
|
+
|
|
318
|
+
self.login(user=self.editor)
|
|
319
|
+
|
|
320
|
+
response = self.client.get(history_url)
|
|
321
|
+
self.assertEqual(response.status_code, 200)
|
|
322
|
+
|
|
323
|
+
self.assertContains(response, "Created", 1)
|
|
324
|
+
self.assertContains(response, "Draft saved", 2)
|
|
325
|
+
self.assertContains(response, "Locked", 1)
|
|
326
|
+
self.assertContains(response, "Unlocked", 1)
|
|
327
|
+
self.assertContains(response, "Page scheduled for publishing", 1)
|
|
328
|
+
self.assertContains(response, "Published", 1)
|
|
329
|
+
|
|
308
330
|
def test_edit_form_has_history_link(self):
|
|
309
331
|
self.hello_page.save_revision()
|
|
310
332
|
self.login(user=self.editor)
|
|
@@ -162,6 +162,33 @@ class TestWorkflowsIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase)
|
|
|
162
162
|
self.assertNotContains(response, "There are no enabled workflows.")
|
|
163
163
|
self.assertContains(response, "test_workflow")
|
|
164
164
|
|
|
165
|
+
def test_multiple_snippets_assigned_to_workflow(self):
|
|
166
|
+
Workflow.objects.create(name="Nocontenttypes")
|
|
167
|
+
multi_ct_workflow = Workflow.objects.create(name="Multicontenttypes")
|
|
168
|
+
for model in [FullFeaturedSnippet, ModeratedModel]:
|
|
169
|
+
WorkflowContentType.objects.create(
|
|
170
|
+
workflow=multi_ct_workflow,
|
|
171
|
+
content_type=ContentType.objects.get_for_model(model),
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
response = self.get()
|
|
175
|
+
self.assertEqual(response.status_code, 200)
|
|
176
|
+
soup = self.get_soup(response.content)
|
|
177
|
+
cells = [
|
|
178
|
+
text
|
|
179
|
+
for td in soup.select("td")
|
|
180
|
+
if (text := td.get_text(separator=" | ", strip=True))
|
|
181
|
+
]
|
|
182
|
+
self.assertEqual(
|
|
183
|
+
cells,
|
|
184
|
+
[
|
|
185
|
+
"Multicontenttypes",
|
|
186
|
+
"0 pages | 2 snippet types",
|
|
187
|
+
"Nocontenttypes",
|
|
188
|
+
"0 pages | 0 snippet types",
|
|
189
|
+
],
|
|
190
|
+
)
|
|
191
|
+
|
|
165
192
|
def test_num_queries(self):
|
|
166
193
|
self.create_workflows()
|
|
167
194
|
self.get()
|
wagtail/admin/views/workflows.py
CHANGED
|
@@ -4,7 +4,7 @@ from django.contrib.contenttypes.models import ContentType
|
|
|
4
4
|
from django.core.exceptions import PermissionDenied
|
|
5
5
|
from django.core.paginator import Paginator
|
|
6
6
|
from django.db import transaction
|
|
7
|
-
from django.db.models import Count,
|
|
7
|
+
from django.db.models import Count, Prefetch
|
|
8
8
|
from django.db.models.functions import Lower
|
|
9
9
|
from django.http import Http404, HttpResponseBadRequest
|
|
10
10
|
from django.shortcuts import get_object_or_404, redirect, render
|
|
@@ -37,7 +37,6 @@ from wagtail.models import (
|
|
|
37
37
|
Task,
|
|
38
38
|
TaskState,
|
|
39
39
|
Workflow,
|
|
40
|
-
WorkflowContentType,
|
|
41
40
|
WorkflowState,
|
|
42
41
|
WorkflowTask,
|
|
43
42
|
)
|
|
@@ -146,10 +145,7 @@ class Index(IndexView):
|
|
|
146
145
|
|
|
147
146
|
def get_base_queryset(self):
|
|
148
147
|
queryset = super().get_base_queryset()
|
|
149
|
-
|
|
150
|
-
workflow=OuterRef("pk")
|
|
151
|
-
).values_list("pk", flat=True)
|
|
152
|
-
queryset = queryset.annotate(content_types=Count(content_types))
|
|
148
|
+
queryset = queryset.annotate(content_types=Count("workflow_content_types"))
|
|
153
149
|
return queryset.prefetch_related(
|
|
154
150
|
"workflow_pages",
|
|
155
151
|
"workflow_pages__page",
|
wagtail/blocks/list_block.py
CHANGED
|
@@ -426,6 +426,7 @@ class ListBlock(Block):
|
|
|
426
426
|
child_block = kwargs.get("child_block")
|
|
427
427
|
if isinstance(child_block, Block):
|
|
428
428
|
block_id = lookup.add_block(child_block)
|
|
429
|
+
kwargs = kwargs.copy() # avoid mutating the original kwargs stored in self._constructor_args
|
|
429
430
|
kwargs["child_block"] = block_id
|
|
430
431
|
|
|
431
432
|
return path, args, kwargs
|
|
@@ -603,11 +603,13 @@ class TestFormPageWithCustomFormBuilder(WagtailTestUtils, TestCase):
|
|
|
603
603
|
html=True,
|
|
604
604
|
)
|
|
605
605
|
# check ip address field has rendered
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
)
|
|
606
|
+
# (not comparing HTML directly because https://docs.djangoproject.com/en/5.1/releases/5.1.5/
|
|
607
|
+
# added a maxlength attribute)
|
|
608
|
+
soup = self.get_soup(response.content)
|
|
609
|
+
input = soup.find("input", {"name": "device_ip_address"})
|
|
610
|
+
self.assertEqual(input["type"], "text")
|
|
611
|
+
self.assertEqual(input["required"], "")
|
|
612
|
+
self.assertEqual(input["id"], "id_device_ip_address")
|
|
611
613
|
|
|
612
614
|
def test_post_invalid_form(self):
|
|
613
615
|
response = self.client.post(
|
|
File without changes
|
|
@@ -949,6 +949,54 @@ class TestDeconstructStreamFieldWithLookup(TestCase):
|
|
|
949
949
|
},
|
|
950
950
|
)
|
|
951
951
|
|
|
952
|
+
def test_deconstruct_with_listblock_with_child_block_kwarg_idempotence(self):
|
|
953
|
+
# See https://github.com/wagtail/wagtail/issues/13137. When a ListBlock is defined with
|
|
954
|
+
# a child_block keyword argument, its deconstruct_with_lookup method inserts that child
|
|
955
|
+
# block into the lookup to obtain an ID, and returns that ID as the child_block kwarg
|
|
956
|
+
# in its result. However, an implementation bug meant that this was mutating the kwargs
|
|
957
|
+
# dict stored in the block's _constructor_args attribute. As a result, subsequent calls
|
|
958
|
+
# to deconstruct_with_lookup (which happen routinely during makemigrations) would
|
|
959
|
+
# encounter the ID in child_block, leave it alone (because it isn't a block object as
|
|
960
|
+
# expected), and return that ID in the result without adding it to the lookup, messing
|
|
961
|
+
# up the ID sequence in the process.
|
|
962
|
+
field = StreamField(
|
|
963
|
+
[
|
|
964
|
+
("heading", blocks.CharBlock(required=True)),
|
|
965
|
+
(
|
|
966
|
+
"bullets",
|
|
967
|
+
blocks.ListBlock(child_block=blocks.CharBlock(required=False)),
|
|
968
|
+
),
|
|
969
|
+
],
|
|
970
|
+
blank=True,
|
|
971
|
+
)
|
|
972
|
+
field.set_attributes_from_name("body")
|
|
973
|
+
|
|
974
|
+
expected_args = [
|
|
975
|
+
[
|
|
976
|
+
("heading", 0),
|
|
977
|
+
("bullets", 2),
|
|
978
|
+
]
|
|
979
|
+
]
|
|
980
|
+
expected_kwargs = {
|
|
981
|
+
"blank": True,
|
|
982
|
+
"block_lookup": {
|
|
983
|
+
0: ("wagtail.blocks.CharBlock", (), {"required": True}),
|
|
984
|
+
1: ("wagtail.blocks.CharBlock", (), {"required": False}),
|
|
985
|
+
2: ("wagtail.blocks.ListBlock", (), {"child_block": 1}),
|
|
986
|
+
},
|
|
987
|
+
}
|
|
988
|
+
name, path, args, kwargs = field.deconstruct()
|
|
989
|
+
self.assertEqual(name, "body")
|
|
990
|
+
self.assertEqual(path, "wagtail.fields.StreamField")
|
|
991
|
+
self.assertEqual(kwargs, expected_kwargs)
|
|
992
|
+
self.assertEqual(args, expected_args)
|
|
993
|
+
|
|
994
|
+
name, path, args, kwargs = field.deconstruct()
|
|
995
|
+
self.assertEqual(name, "body")
|
|
996
|
+
self.assertEqual(path, "wagtail.fields.StreamField")
|
|
997
|
+
self.assertEqual(kwargs, expected_kwargs)
|
|
998
|
+
self.assertEqual(args, expected_args)
|
|
999
|
+
|
|
952
1000
|
def test_deconstruct_with_listblock_subclass(self):
|
|
953
1001
|
# See https://github.com/wagtail/wagtail/issues/12164 - unlike StructBlock and StreamBlock,
|
|
954
1002
|
# ListBlock's deconstruct method doesn't reduce subclasses to the base ListBlock class.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: wagtail
|
|
3
|
+
Version: 6.2.4
|
|
4
|
+
Summary: A Django content management system.
|
|
5
|
+
Home-page: https://wagtail.org/
|
|
6
|
+
Author: Wagtail core team + contributors
|
|
7
|
+
Author-email: hello@wagtail.org
|
|
8
|
+
License: BSD
|
|
9
|
+
Project-URL: Changelog, https://github.com/wagtail/wagtail/blob/main/CHANGELOG.txt
|
|
10
|
+
Project-URL: Documentation, https://docs.wagtail.org
|
|
11
|
+
Project-URL: Source, https://github.com/wagtail/wagtail
|
|
12
|
+
Project-URL: Tracker, https://github.com/wagtail/wagtail/issues
|
|
13
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: Environment :: Web Environment
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Framework :: Django
|
|
26
|
+
Classifier: Framework :: Django :: 4.2
|
|
27
|
+
Classifier: Framework :: Django :: 5.0
|
|
28
|
+
Classifier: Framework :: Wagtail
|
|
29
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
|
|
30
|
+
Requires-Python: >=3.8
|
|
31
|
+
License-File: LICENSE
|
|
32
|
+
Requires-Dist: Django<5.2,>=4.2
|
|
33
|
+
Requires-Dist: django-modelcluster<7.0,>=6.2.1
|
|
34
|
+
Requires-Dist: django-permissionedforms<1.0,>=0.1
|
|
35
|
+
Requires-Dist: django-taggit<5.1,>=5.0
|
|
36
|
+
Requires-Dist: django-treebeard<5.0,>=4.5.1
|
|
37
|
+
Requires-Dist: djangorestframework<4.0,>=3.15.1
|
|
38
|
+
Requires-Dist: django-filter<25,>=23.3
|
|
39
|
+
Requires-Dist: draftjs_exporter<6.0,>=2.1.5
|
|
40
|
+
Requires-Dist: Pillow<11.0.0,>=9.1.0
|
|
41
|
+
Requires-Dist: beautifulsoup4<4.13,>=4.8
|
|
42
|
+
Requires-Dist: Willow[heif]<2,>=1.8.0
|
|
43
|
+
Requires-Dist: requests<3.0,>=2.11.1
|
|
44
|
+
Requires-Dist: l18n>=2018.5
|
|
45
|
+
Requires-Dist: openpyxl<4.0,>=3.0.10
|
|
46
|
+
Requires-Dist: anyascii>=0.1.5
|
|
47
|
+
Requires-Dist: telepath<1,>=0.3.1
|
|
48
|
+
Requires-Dist: laces<0.2,>=0.1
|
|
49
|
+
Provides-Extra: testing
|
|
50
|
+
Requires-Dist: python-dateutil>=2.7; extra == "testing"
|
|
51
|
+
Requires-Dist: pytz>=2014.7; extra == "testing"
|
|
52
|
+
Requires-Dist: Jinja2<3.2,>=3.0; extra == "testing"
|
|
53
|
+
Requires-Dist: boto3<2,>=1.28; extra == "testing"
|
|
54
|
+
Requires-Dist: freezegun>=0.3.8; extra == "testing"
|
|
55
|
+
Requires-Dist: azure-mgmt-cdn<13.0,>=12.0; extra == "testing"
|
|
56
|
+
Requires-Dist: azure-mgmt-frontdoor<1.1,>=1.0; extra == "testing"
|
|
57
|
+
Requires-Dist: django-pattern-library>=0.7; extra == "testing"
|
|
58
|
+
Requires-Dist: coverage>=3.7.0; extra == "testing"
|
|
59
|
+
Requires-Dist: doc8==0.8.1; extra == "testing"
|
|
60
|
+
Requires-Dist: ruff==0.1.5; extra == "testing"
|
|
61
|
+
Requires-Dist: semgrep==1.40.0; extra == "testing"
|
|
62
|
+
Requires-Dist: curlylint==0.13.1; extra == "testing"
|
|
63
|
+
Requires-Dist: djhtml==3.0.6; extra == "testing"
|
|
64
|
+
Requires-Dist: polib<2.0,>=1.1; extra == "testing"
|
|
65
|
+
Requires-Dist: factory-boy>=3.2; extra == "testing"
|
|
66
|
+
Requires-Dist: tblib<3.0,>=2.0; extra == "testing"
|
|
67
|
+
Provides-Extra: docs
|
|
68
|
+
Requires-Dist: pyenchant<4,>=3.1.1; extra == "docs"
|
|
69
|
+
Requires-Dist: sphinxcontrib-spelling<8,>=7; extra == "docs"
|
|
70
|
+
Requires-Dist: Sphinx>=7.0; extra == "docs"
|
|
71
|
+
Requires-Dist: sphinx-autobuild>=0.6.0; extra == "docs"
|
|
72
|
+
Requires-Dist: sphinx-wagtail-theme==6.4.0; extra == "docs"
|
|
73
|
+
Requires-Dist: myst_parser==2.0.0; extra == "docs"
|
|
74
|
+
Dynamic: author
|
|
75
|
+
Dynamic: author-email
|
|
76
|
+
Dynamic: classifier
|
|
77
|
+
Dynamic: description
|
|
78
|
+
Dynamic: home-page
|
|
79
|
+
Dynamic: license
|
|
80
|
+
Dynamic: license-file
|
|
81
|
+
Dynamic: project-url
|
|
82
|
+
Dynamic: provides-extra
|
|
83
|
+
Dynamic: requires-dist
|
|
84
|
+
Dynamic: requires-python
|
|
85
|
+
Dynamic: summary
|
|
86
|
+
|
|
87
|
+
Wagtail is an open source content management system built on Django, with a strong community and commercial support. It’s focused on user experience, and offers precise control for designers and developers.
|
|
88
|
+
|
|
89
|
+
For more details, see https://wagtail.org, https://docs.wagtail.org and https://github.com/wagtail/wagtail/.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
wagtail/__init__.py,sha256=
|
|
1
|
+
wagtail/__init__.py,sha256=1FVrmZ8PQMq8jmzfxunZ2TWroxeJda9fnlIg088HCAI,724
|
|
2
2
|
wagtail/apps.py,sha256=38kXTdHoQzFnpUqDNxFpsqn2dut4V0u9rLOkhqCoYkc,713
|
|
3
3
|
wagtail/compat.py,sha256=L41FhlX4xy5KgTdJ63smtM78mtKf1mxkPeOs8kyOwS0,538
|
|
4
4
|
wagtail/coreutils.py,sha256=HIE2FCgFgi9IfVIs85E8onbQIJFAij92XNdNFNUCb70,20655
|
|
@@ -388,7 +388,7 @@ wagtail/admin/static/wagtailadmin/js/comments.js,sha256=nwfjUdZ-klg_lLpnnw6Ui7bY
|
|
|
388
388
|
wagtail/admin/static/wagtailadmin/js/core.js,sha256=l1gVCKhhFWMVVvwDfE5aqiqkSN275rCpYIVzNedSV64,99221
|
|
389
389
|
wagtail/admin/static/wagtailadmin/js/core.js.LICENSE.txt,sha256=dTzaqHjW_XEepDXUcpWz5hu9q-A1Lxr6tE4l4xE3lhY,125
|
|
390
390
|
wagtail/admin/static/wagtailadmin/js/date-time-chooser.js,sha256=3hETl9qsULtkBwcnuZRFLahg4YggsY0xUeDD6SZUEYw,3376
|
|
391
|
-
wagtail/admin/static/wagtailadmin/js/draftail.js,sha256=
|
|
391
|
+
wagtail/admin/static/wagtailadmin/js/draftail.js,sha256=bA1n48GDvpTHvJxsTQQJjXdEuazbiC-bmmzXggRn0nk,293931
|
|
392
392
|
wagtail/admin/static/wagtailadmin/js/draftail.js.LICENSE.txt,sha256=97l5UAKNdHRm-wg_QYro4Ch4ElJtzAVshVlxSIbL9z8,255
|
|
393
393
|
wagtail/admin/static/wagtailadmin/js/expanding-formset.js,sha256=vDyyVEGdfsnBlEDHAeOokwDZMHTCWkcyjvoD2G1NgKQ,1594
|
|
394
394
|
wagtail/admin/static/wagtailadmin/js/filtered-select.js,sha256=LXL9VQc8RQmpz1jy1Rx5HidtmoPWu-YZR63CvYdPf0I,2197
|
|
@@ -854,7 +854,7 @@ wagtail/admin/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
|
854
854
|
wagtail/admin/tests/benches.py,sha256=7zdQSI4Ns0IV2u3WGQTsz25MmMHoT4HEpfii1n4XtQ8,3023
|
|
855
855
|
wagtail/admin/tests/test_account_management.py,sha256=UAvHfLbNB3BMj2DEOKNM8uuxKm8JkkNawNS9ar73fso,38025
|
|
856
856
|
wagtail/admin/tests/test_admin_search.py,sha256=tZv6zyCEr6xaiUeCx1N1CFKFfXfnObAEqKRtUjd25Q0,7359
|
|
857
|
-
wagtail/admin/tests/test_audit_log.py,sha256=
|
|
857
|
+
wagtail/admin/tests/test_audit_log.py,sha256=puQf3hDLwojFbUf1eRdQ-JI2FkHLR9YD99-SjONTu0s,19141
|
|
858
858
|
wagtail/admin/tests/test_buttons_hooks.py,sha256=VYFuYBa1BiffKmeMGaicvyBsqUyWuIINC-ZGnz9WRF0,20502
|
|
859
859
|
wagtail/admin/tests/test_checks.py,sha256=SrywlN77bD_ot6WWO6Ng3YdXuFg-FK7YyBcaeNH9Z6w,4546
|
|
860
860
|
wagtail/admin/tests/test_collections_views.py,sha256=x6Y6GCsi8sIFCN9MZmJxnsjlKf8wa4rWNVjDWkm_IfU,31701
|
|
@@ -887,7 +887,7 @@ wagtail/admin/tests/test_views.py,sha256=eYpa4IC1ipWcl8f3LXEBlp8sJrbvg80pQT12tg6
|
|
|
887
887
|
wagtail/admin/tests/test_views_generic.py,sha256=HrCYFQlj__hOuNcFNG4GAjzQzUzOsFtPqVO0MbP9_wA,2931
|
|
888
888
|
wagtail/admin/tests/test_whats_new.py,sha256=Vptrf94ilJephOP3O7s1FKLtjNxFLCne6Bi4c_VlJzw,5570
|
|
889
889
|
wagtail/admin/tests/test_widgets.py,sha256=3NIcu5Ktx6i5kAn8kSdW3HBg-SSVi8BspR-THj8aQ0Y,24656
|
|
890
|
-
wagtail/admin/tests/test_workflows.py,sha256=
|
|
890
|
+
wagtail/admin/tests/test_workflows.py,sha256=XaBR7iaNzz6eAUeLTRc8kr73OOjBXC53QrxjIKnvt0k,178059
|
|
891
891
|
wagtail/admin/tests/tests.py,sha256=GoPO8R3hdX1DpHIugy_8fvL0sGSybesVEAL_BRoyvLE,21278
|
|
892
892
|
wagtail/admin/tests/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
893
893
|
wagtail/admin/tests/api/test_documents.py,sha256=2dfjTi6Bj3otRQ-ok9f3rwl-HpSmprfcmhWyYPDnXcs,5051
|
|
@@ -955,7 +955,7 @@ wagtail/admin/views/home.py,sha256=u88JvZdh_fjMqvM2l2PKx8HhcURZemOEBhuzr5MKwTQ,1
|
|
|
955
955
|
wagtail/admin/views/mixins.py,sha256=SaIe2YwuRFK7segVdIRaughf3_xsAgV5zAV2HTiTRhA,12975
|
|
956
956
|
wagtail/admin/views/page_privacy.py,sha256=CBDaf8ElLesuco9Z3WLqdscPtoDRiGmxLPPWmWjHT7Q,3472
|
|
957
957
|
wagtail/admin/views/tags.py,sha256=ZxV-Nzme28b8WaKTk96SFiFOKd_qS2SiQOoaOFUJwjE,812
|
|
958
|
-
wagtail/admin/views/workflows.py,sha256=
|
|
958
|
+
wagtail/admin/views/workflows.py,sha256=EQIz1UR8QRniKr6X2iQ7LttPZ34i4Y5myfJ47FcconY,34789
|
|
959
959
|
wagtail/admin/views/bulk_action/__init__.py,sha256=vvb1oKmExfxl6cd6g7YaCO4LSwxWNoRFdkqgemDBNeI,106
|
|
960
960
|
wagtail/admin/views/bulk_action/base_bulk_action.py,sha256=UuidpHVm3uQTI6zRYxwSgxZNkAVP_XCWhkCEMW0Wu1s,5201
|
|
961
961
|
wagtail/admin/views/bulk_action/dispatcher.py,sha256=fqhOJ3tyRwIDP474vewlsAq1FgP48AgKOvdiySxDlto,504
|
|
@@ -963,7 +963,7 @@ wagtail/admin/views/bulk_action/registry.py,sha256=e9-rN9TdHUmRwDfTeauvPUjE6p3ip
|
|
|
963
963
|
wagtail/admin/views/generic/__init__.py,sha256=XSpUylwSEv32pR3pVZmF6lo6KGBqthS6b3y5neXvsW4,730
|
|
964
964
|
wagtail/admin/views/generic/base.py,sha256=c9kgi1JdtUUEyRBqYulJRsiD3SFC0zPDZwCCFRRaP7I,17737
|
|
965
965
|
wagtail/admin/views/generic/chooser.py,sha256=pjOYGcYBHc1ZkZJ4LWcHkoGNQ7U7GdKBsJZ0vyOO4kc,18061
|
|
966
|
-
wagtail/admin/views/generic/history.py,sha256=
|
|
966
|
+
wagtail/admin/views/generic/history.py,sha256=XGbu1HbAj3N-NYEeC90_O7sWilaqRqz2d-6G3LgXeCk,17685
|
|
967
967
|
wagtail/admin/views/generic/lock.py,sha256=dvZ613n3itNAhO3zdQzGRewm2kH-dyemx-LSuUC2AHM,1435
|
|
968
968
|
wagtail/admin/views/generic/mixins.py,sha256=FqHQOqwPPqQxGRqJEZx7hW2cIuUvZRrpFfuJrLTfWDE,29915
|
|
969
969
|
wagtail/admin/views/generic/models.py,sha256=ugKntUQWiifWqMGW9YNimpFfxUT0o988LIosY8M0Tuk,51058
|
|
@@ -1042,7 +1042,7 @@ wagtail/blocks/__init__.py,sha256=VjRA2jnSMItNEqkMGtYQxFHzoefy8QbqTysjlFHnxpU,31
|
|
|
1042
1042
|
wagtail/blocks/base.py,sha256=H-dI5oEXN2paPEhW8gf45n42IdWF62vnw0ZUDELvdtw,27979
|
|
1043
1043
|
wagtail/blocks/definition_lookup.py,sha256=JkSwFcqEkavq-M6kWNfeDZtvIXnQJ58QT2FeaKrFPEA,3274
|
|
1044
1044
|
wagtail/blocks/field_block.py,sha256=6idDhjIO2yRE1uhbO0dxUzzJUhruYJ-2KNg8xCrplY4,32055
|
|
1045
|
-
wagtail/blocks/list_block.py,sha256=
|
|
1045
|
+
wagtail/blocks/list_block.py,sha256=_3qNE0L7UMAmwMYCZ5CKasf574tKO7eDUth8HInmo88,18403
|
|
1046
1046
|
wagtail/blocks/static_block.py,sha256=JPU591ytmoU71uBpRPLZjwvc1boQOEgI193wKrUcqBw,1680
|
|
1047
1047
|
wagtail/blocks/stream_block.py,sha256=gL18S1svXTdeoO8esQos7WF-L0Ps8px405BgpsZcack,32291
|
|
1048
1048
|
wagtail/blocks/struct_block.py,sha256=u-etS4B5ONd6_gYbL-F8XX3l_RY3zPMMsrxSTLXMOIs,15988
|
|
@@ -1191,7 +1191,7 @@ wagtail/contrib/forms/templates/wagtailforms/submissions_index.html,sha256=Ai7nx
|
|
|
1191
1191
|
wagtail/contrib/forms/templates/wagtailforms/panels/form_responses_panel.html,sha256=iqKD050fLAHG2CZe-cK6ZsSlsHNirABtGtkfGvisc_4,331
|
|
1192
1192
|
wagtail/contrib/forms/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1193
1193
|
wagtail/contrib/forms/tests/test_forms.py,sha256=7tRUwJA2j9xzr28NpRC9hDYeOEfR1VTmBCPlny7UPVw,13634
|
|
1194
|
-
wagtail/contrib/forms/tests/test_models.py,sha256=
|
|
1194
|
+
wagtail/contrib/forms/tests/test_models.py,sha256=lcifi_nJHHD9toYVtIY3P-zh-rdCTsLQTgxvAyFKbMM,32465
|
|
1195
1195
|
wagtail/contrib/forms/tests/test_views.py,sha256=6kXEJwzsS5iSTIpt5DDexpyxVpRgz4zUC60qEbACu-8,72856
|
|
1196
1196
|
wagtail/contrib/forms/tests/utils.py,sha256=OESefxdqGRgL1lDItVPSFNw_FJNB4X0PvozdvAhrpkc,6043
|
|
1197
1197
|
wagtail/contrib/frontend_cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -3795,7 +3795,7 @@ wagtail/tests/test_revision_model.py,sha256=7gJXG1ItbHRkg93DpjtY6L8x3ahJIh0eQvlO
|
|
|
3795
3795
|
wagtail/tests/test_rich_text.py,sha256=bBTdI__z5QSq-Z3dPvGLUyHaodmi6mKMBl65dSrsJQw,17795
|
|
3796
3796
|
wagtail/tests/test_signals.py,sha256=C0yTBwjFRptrcDJDnGpmVwBRWjJHvZ4M6EJ3qkyfkfw,5371
|
|
3797
3797
|
wagtail/tests/test_sites.py,sha256=syJCEPMHdKXfbxc_Vb7CH9ymuPVZiWDAae4JmJPmPx0,8488
|
|
3798
|
-
wagtail/tests/test_streamfield.py,sha256=
|
|
3798
|
+
wagtail/tests/test_streamfield.py,sha256=t3QOM3ATXCmva1mDSkRljbbrpWY9oUfkzShqT10xNNM,40367
|
|
3799
3799
|
wagtail/tests/test_telepath.py,sha256=muiOryoRmkISEHVu9GPSrKJEVB_EvpOufhvuJF-HrTk,10374
|
|
3800
3800
|
wagtail/tests/test_tests.py,sha256=Y801jv650IAENPg-1pGTiicrHc9uHijg-Ga2DIDh0yM,17074
|
|
3801
3801
|
wagtail/tests/test_translatablemixin.py,sha256=bCHX65L-3SMtgXU7XEdG0NYV4G5-V93TzzHX24ubcl8,10283
|
|
@@ -4009,9 +4009,9 @@ wagtail/utils/urlpatterns.py,sha256=RDhVScxdm-RV4HSMjWElyrbEoTPsXu841_SKMgoFKtY,
|
|
|
4009
4009
|
wagtail/utils/utils.py,sha256=nQhfy-fOiZfUFr67kTX4nF_2VVH7_MDtjTDOzZdpPTE,1407
|
|
4010
4010
|
wagtail/utils/version.py,sha256=jYCDKIGJD3bZHTpgXMXu14oSBArQnf2WVU979D8V4b0,1552
|
|
4011
4011
|
wagtail/utils/widgets.py,sha256=ibAvxHCjNw06bMlTD7wvrwmGEMNS3NzrnSKREGfPF44,1775
|
|
4012
|
-
wagtail-6.2.
|
|
4013
|
-
wagtail-6.2.
|
|
4014
|
-
wagtail-6.2.
|
|
4015
|
-
wagtail-6.2.
|
|
4016
|
-
wagtail-6.2.
|
|
4017
|
-
wagtail-6.2.
|
|
4012
|
+
wagtail-6.2.4.dist-info/licenses/LICENSE,sha256=0aiL7_RJ2YkOjscmRI7opwmuURrY6h8MR0B24nrdRQU,1512
|
|
4013
|
+
wagtail-6.2.4.dist-info/METADATA,sha256=1DXd698lRX4mLOOEok9UC0MQgzlttJ5YnXBPXFz3QB8,3798
|
|
4014
|
+
wagtail-6.2.4.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
4015
|
+
wagtail-6.2.4.dist-info/entry_points.txt,sha256=R14Z0xKoufNcDaku0EWDKM-K8J4ap0EImO8C-df8HVM,53
|
|
4016
|
+
wagtail-6.2.4.dist-info/top_level.txt,sha256=zcKgvuRTi0gSgVzJ1qMoERCwhQ_i0n9bkyxza3oh9as,8
|
|
4017
|
+
wagtail-6.2.4.dist-info/RECORD,,
|
wagtail-6.2.2.dist-info/METADATA
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: wagtail
|
|
3
|
-
Version: 6.2.2
|
|
4
|
-
Summary: A Django content management system.
|
|
5
|
-
Home-page: https://wagtail.org/
|
|
6
|
-
Author: Wagtail core team + contributors
|
|
7
|
-
Author-email: hello@wagtail.org
|
|
8
|
-
License: BSD
|
|
9
|
-
Project-URL: Changelog, https://github.com/wagtail/wagtail/blob/main/CHANGELOG.txt
|
|
10
|
-
Project-URL: Documentation, https://docs.wagtail.org
|
|
11
|
-
Project-URL: Source, https://github.com/wagtail/wagtail
|
|
12
|
-
Project-URL: Tracker, https://github.com/wagtail/wagtail/issues
|
|
13
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
-
Classifier: Environment :: Web Environment
|
|
15
|
-
Classifier: Intended Audience :: Developers
|
|
16
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
17
|
-
Classifier: Operating System :: OS Independent
|
|
18
|
-
Classifier: Programming Language :: Python
|
|
19
|
-
Classifier: Programming Language :: Python :: 3
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
-
Classifier: Framework :: Django
|
|
26
|
-
Classifier: Framework :: Django :: 4.2
|
|
27
|
-
Classifier: Framework :: Django :: 5.0
|
|
28
|
-
Classifier: Framework :: Wagtail
|
|
29
|
-
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
|
|
30
|
-
Requires-Python: >=3.8
|
|
31
|
-
License-File: LICENSE
|
|
32
|
-
Requires-Dist: Django (<6.0,>=4.2)
|
|
33
|
-
Requires-Dist: django-modelcluster (<7.0,>=6.2.1)
|
|
34
|
-
Requires-Dist: django-permissionedforms (<1.0,>=0.1)
|
|
35
|
-
Requires-Dist: django-taggit (<5.1,>=5.0)
|
|
36
|
-
Requires-Dist: django-treebeard (<5.0,>=4.5.1)
|
|
37
|
-
Requires-Dist: djangorestframework (<4.0,>=3.15.1)
|
|
38
|
-
Requires-Dist: django-filter (<25,>=23.3)
|
|
39
|
-
Requires-Dist: draftjs-exporter (<6.0,>=2.1.5)
|
|
40
|
-
Requires-Dist: Pillow (<11.0.0,>=9.1.0)
|
|
41
|
-
Requires-Dist: beautifulsoup4 (<4.13,>=4.8)
|
|
42
|
-
Requires-Dist: Willow[heif] (<2,>=1.8.0)
|
|
43
|
-
Requires-Dist: requests (<3.0,>=2.11.1)
|
|
44
|
-
Requires-Dist: l18n (>=2018.5)
|
|
45
|
-
Requires-Dist: openpyxl (<4.0,>=3.0.10)
|
|
46
|
-
Requires-Dist: anyascii (>=0.1.5)
|
|
47
|
-
Requires-Dist: telepath (<1,>=0.3.1)
|
|
48
|
-
Requires-Dist: laces (<0.2,>=0.1)
|
|
49
|
-
Provides-Extra: docs
|
|
50
|
-
Requires-Dist: pyenchant (<4,>=3.1.1) ; extra == 'docs'
|
|
51
|
-
Requires-Dist: sphinxcontrib-spelling (<8,>=7) ; extra == 'docs'
|
|
52
|
-
Requires-Dist: Sphinx (>=7.0) ; extra == 'docs'
|
|
53
|
-
Requires-Dist: sphinx-autobuild (>=0.6.0) ; extra == 'docs'
|
|
54
|
-
Requires-Dist: sphinx-wagtail-theme (==6.3.0) ; extra == 'docs'
|
|
55
|
-
Requires-Dist: myst-parser (==2.0.0) ; extra == 'docs'
|
|
56
|
-
Requires-Dist: sphinx-copybutton (<1.0,>=0.5) ; extra == 'docs'
|
|
57
|
-
Provides-Extra: testing
|
|
58
|
-
Requires-Dist: python-dateutil (>=2.7) ; extra == 'testing'
|
|
59
|
-
Requires-Dist: pytz (>=2014.7) ; extra == 'testing'
|
|
60
|
-
Requires-Dist: Jinja2 (<3.2,>=3.0) ; extra == 'testing'
|
|
61
|
-
Requires-Dist: boto3 (<2,>=1.28) ; extra == 'testing'
|
|
62
|
-
Requires-Dist: freezegun (>=0.3.8) ; extra == 'testing'
|
|
63
|
-
Requires-Dist: azure-mgmt-cdn (<13.0,>=12.0) ; extra == 'testing'
|
|
64
|
-
Requires-Dist: azure-mgmt-frontdoor (<1.1,>=1.0) ; extra == 'testing'
|
|
65
|
-
Requires-Dist: django-pattern-library (>=0.7) ; extra == 'testing'
|
|
66
|
-
Requires-Dist: coverage (>=3.7.0) ; extra == 'testing'
|
|
67
|
-
Requires-Dist: doc8 (==0.8.1) ; extra == 'testing'
|
|
68
|
-
Requires-Dist: ruff (==0.1.5) ; extra == 'testing'
|
|
69
|
-
Requires-Dist: semgrep (==1.40.0) ; extra == 'testing'
|
|
70
|
-
Requires-Dist: curlylint (==0.13.1) ; extra == 'testing'
|
|
71
|
-
Requires-Dist: djhtml (==3.0.6) ; extra == 'testing'
|
|
72
|
-
Requires-Dist: polib (<2.0,>=1.1) ; extra == 'testing'
|
|
73
|
-
Requires-Dist: factory-boy (>=3.2) ; extra == 'testing'
|
|
74
|
-
Requires-Dist: tblib (<3.0,>=2.0) ; extra == 'testing'
|
|
75
|
-
|
|
76
|
-
Wagtail is an open source content management system built on Django, with a strong community and commercial support. It’s focused on user experience, and offers precise control for designers and developers.
|
|
77
|
-
|
|
78
|
-
For more details, see https://wagtail.org, https://docs.wagtail.org and https://github.com/wagtail/wagtail/.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|