wagtail 6.2__py3-none-any.whl → 6.2.1__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.
Files changed (148) hide show
  1. wagtail/__init__.py +1 -1
  2. wagtail/admin/locale/ar/LC_MESSAGES/django.po +1 -1
  3. wagtail/admin/locale/az_AZ/LC_MESSAGES/django.po +1 -1
  4. wagtail/admin/locale/be/LC_MESSAGES/django.po +1 -1
  5. wagtail/admin/locale/bg/LC_MESSAGES/django.po +1 -1
  6. wagtail/admin/locale/bn/LC_MESSAGES/django.po +1 -1
  7. wagtail/admin/locale/ca/LC_MESSAGES/django.mo +0 -0
  8. wagtail/admin/locale/ca/LC_MESSAGES/django.po +16 -22
  9. wagtail/admin/locale/cs/LC_MESSAGES/django.po +1 -1
  10. wagtail/admin/locale/cy/LC_MESSAGES/django.po +1 -1
  11. wagtail/admin/locale/da/LC_MESSAGES/django.po +1 -1
  12. wagtail/admin/locale/de/LC_MESSAGES/django.mo +0 -0
  13. wagtail/admin/locale/de/LC_MESSAGES/django.po +17 -26
  14. wagtail/admin/locale/dv/LC_MESSAGES/django.po +1 -1
  15. wagtail/admin/locale/el/LC_MESSAGES/django.po +1 -1
  16. wagtail/admin/locale/en/LC_MESSAGES/django.po +19 -26
  17. wagtail/admin/locale/es/LC_MESSAGES/django.po +1 -1
  18. wagtail/admin/locale/es_419/LC_MESSAGES/django.po +1 -1
  19. wagtail/admin/locale/es_VE/LC_MESSAGES/django.po +1 -1
  20. wagtail/admin/locale/et/LC_MESSAGES/django.po +1 -1
  21. wagtail/admin/locale/eu/LC_MESSAGES/django.po +1 -1
  22. wagtail/admin/locale/fa/LC_MESSAGES/django.po +1 -1
  23. wagtail/admin/locale/fi/LC_MESSAGES/django.mo +0 -0
  24. wagtail/admin/locale/fi/LC_MESSAGES/django.po +1 -7
  25. wagtail/admin/locale/fr/LC_MESSAGES/django.mo +0 -0
  26. wagtail/admin/locale/fr/LC_MESSAGES/django.po +1 -36
  27. wagtail/admin/locale/gl/LC_MESSAGES/django.mo +0 -0
  28. wagtail/admin/locale/gl/LC_MESSAGES/django.po +15 -20
  29. wagtail/admin/locale/he_IL/LC_MESSAGES/django.po +1 -1
  30. wagtail/admin/locale/hr_HR/LC_MESSAGES/django.po +1 -1
  31. wagtail/admin/locale/ht/LC_MESSAGES/django.po +1 -1
  32. wagtail/admin/locale/hu/LC_MESSAGES/django.po +1 -1
  33. wagtail/admin/locale/id_ID/LC_MESSAGES/django.po +1 -1
  34. wagtail/admin/locale/is_IS/LC_MESSAGES/django.po +1 -1
  35. wagtail/admin/locale/it/LC_MESSAGES/django.po +1 -1
  36. wagtail/admin/locale/ja/LC_MESSAGES/django.po +1 -1
  37. wagtail/admin/locale/ka/LC_MESSAGES/django.po +1 -1
  38. wagtail/admin/locale/ko/LC_MESSAGES/django.po +1 -1
  39. wagtail/admin/locale/lt/LC_MESSAGES/django.po +1 -1
  40. wagtail/admin/locale/lv/LC_MESSAGES/django.po +1 -1
  41. wagtail/admin/locale/mi/LC_MESSAGES/django.po +1 -1
  42. wagtail/admin/locale/mn/LC_MESSAGES/django.po +1 -1
  43. wagtail/admin/locale/my/LC_MESSAGES/django.po +1 -1
  44. wagtail/admin/locale/nb/LC_MESSAGES/django.po +1 -1
  45. wagtail/admin/locale/nl/LC_MESSAGES/django.mo +0 -0
  46. wagtail/admin/locale/nl/LC_MESSAGES/django.po +13 -21
  47. wagtail/admin/locale/pl/LC_MESSAGES/django.po +1 -1
  48. wagtail/admin/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  49. wagtail/admin/locale/pt_PT/LC_MESSAGES/django.po +1 -1
  50. wagtail/admin/locale/ro/LC_MESSAGES/django.po +1 -1
  51. wagtail/admin/locale/ru/LC_MESSAGES/django.mo +0 -0
  52. wagtail/admin/locale/ru/LC_MESSAGES/django.po +17 -25
  53. wagtail/admin/locale/sk_SK/LC_MESSAGES/django.po +1 -1
  54. wagtail/admin/locale/sl/LC_MESSAGES/django.po +1 -1
  55. wagtail/admin/locale/sv/LC_MESSAGES/django.po +1 -1
  56. wagtail/admin/locale/tet/LC_MESSAGES/django.po +1 -1
  57. wagtail/admin/locale/th/LC_MESSAGES/django.po +1 -1
  58. wagtail/admin/locale/tr/LC_MESSAGES/django.po +1 -1
  59. wagtail/admin/locale/tr_TR/LC_MESSAGES/django.po +1 -1
  60. wagtail/admin/locale/uk/LC_MESSAGES/django.po +1 -1
  61. wagtail/admin/locale/vi/LC_MESSAGES/django.po +1 -1
  62. wagtail/admin/locale/zh/LC_MESSAGES/django.po +1 -1
  63. wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
  64. wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
  65. wagtail/admin/models.py +2 -2
  66. wagtail/admin/static/wagtailadmin/js/core.js +1 -1
  67. wagtail/admin/tests/test_editing_sessions.py +103 -1
  68. wagtail/admin/views/editing_sessions.py +15 -6
  69. wagtail/blocks/list_block.py +20 -10
  70. wagtail/contrib/forms/locale/en/LC_MESSAGES/django.po +1 -1
  71. wagtail/contrib/redirects/locale/en/LC_MESSAGES/django.po +1 -1
  72. wagtail/contrib/search_promotions/locale/en/LC_MESSAGES/django.po +1 -1
  73. wagtail/contrib/settings/locale/en/LC_MESSAGES/django.po +1 -1
  74. wagtail/contrib/simple_translation/locale/en/LC_MESSAGES/django.po +1 -1
  75. wagtail/contrib/styleguide/locale/en/LC_MESSAGES/django.po +1 -1
  76. wagtail/contrib/table_block/locale/en/LC_MESSAGES/django.po +1 -1
  77. wagtail/contrib/typed_table_block/locale/en/LC_MESSAGES/django.po +1 -1
  78. wagtail/documents/locale/en/LC_MESSAGES/django.po +1 -1
  79. wagtail/embeds/locale/en/LC_MESSAGES/django.po +1 -1
  80. wagtail/images/locale/en/LC_MESSAGES/django.po +1 -1
  81. wagtail/locale/af/LC_MESSAGES/django.po +1 -1
  82. wagtail/locale/ar/LC_MESSAGES/django.po +1 -1
  83. wagtail/locale/az_AZ/LC_MESSAGES/django.po +1 -1
  84. wagtail/locale/be/LC_MESSAGES/django.po +1 -1
  85. wagtail/locale/bg/LC_MESSAGES/django.po +1 -1
  86. wagtail/locale/bn/LC_MESSAGES/django.po +1 -1
  87. wagtail/locale/ca/LC_MESSAGES/django.po +1 -1
  88. wagtail/locale/cs/LC_MESSAGES/django.po +1 -1
  89. wagtail/locale/cy/LC_MESSAGES/django.po +1 -1
  90. wagtail/locale/da/LC_MESSAGES/django.po +1 -1
  91. wagtail/locale/de/LC_MESSAGES/django.po +1 -1
  92. wagtail/locale/dv/LC_MESSAGES/django.po +1 -1
  93. wagtail/locale/el/LC_MESSAGES/django.po +1 -1
  94. wagtail/locale/en/LC_MESSAGES/django.po +8 -8
  95. wagtail/locale/es/LC_MESSAGES/django.po +1 -1
  96. wagtail/locale/es_419/LC_MESSAGES/django.po +1 -1
  97. wagtail/locale/et/LC_MESSAGES/django.po +1 -1
  98. wagtail/locale/eu/LC_MESSAGES/django.po +1 -1
  99. wagtail/locale/fa/LC_MESSAGES/django.po +1 -1
  100. wagtail/locale/fi/LC_MESSAGES/django.po +1 -1
  101. wagtail/locale/fr/LC_MESSAGES/django.po +1 -1
  102. wagtail/locale/gl/LC_MESSAGES/django.po +1 -1
  103. wagtail/locale/he_IL/LC_MESSAGES/django.po +1 -1
  104. wagtail/locale/hr_HR/LC_MESSAGES/django.po +1 -1
  105. wagtail/locale/hu/LC_MESSAGES/django.po +1 -1
  106. wagtail/locale/id_ID/LC_MESSAGES/django.po +1 -1
  107. wagtail/locale/is_IS/LC_MESSAGES/django.po +1 -1
  108. wagtail/locale/it/LC_MESSAGES/django.po +1 -1
  109. wagtail/locale/ja/LC_MESSAGES/django.po +1 -1
  110. wagtail/locale/ka/LC_MESSAGES/django.po +1 -1
  111. wagtail/locale/ko/LC_MESSAGES/django.po +1 -1
  112. wagtail/locale/lt/LC_MESSAGES/django.po +1 -1
  113. wagtail/locale/lv/LC_MESSAGES/django.po +1 -1
  114. wagtail/locale/mi/LC_MESSAGES/django.po +1 -1
  115. wagtail/locale/mn/LC_MESSAGES/django.po +1 -1
  116. wagtail/locale/my/LC_MESSAGES/django.po +1 -1
  117. wagtail/locale/nb/LC_MESSAGES/django.po +1 -1
  118. wagtail/locale/nl/LC_MESSAGES/django.po +1 -1
  119. wagtail/locale/pl/LC_MESSAGES/django.po +1 -1
  120. wagtail/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  121. wagtail/locale/pt_PT/LC_MESSAGES/django.po +1 -1
  122. wagtail/locale/ro/LC_MESSAGES/django.po +1 -1
  123. wagtail/locale/ru/LC_MESSAGES/django.po +1 -1
  124. wagtail/locale/sk_SK/LC_MESSAGES/django.po +1 -1
  125. wagtail/locale/sl/LC_MESSAGES/django.po +1 -1
  126. wagtail/locale/sv/LC_MESSAGES/django.po +1 -1
  127. wagtail/locale/tet/LC_MESSAGES/django.po +1 -1
  128. wagtail/locale/th/LC_MESSAGES/django.po +1 -1
  129. wagtail/locale/tr/LC_MESSAGES/django.po +1 -1
  130. wagtail/locale/tr_TR/LC_MESSAGES/django.po +1 -1
  131. wagtail/locale/uk/LC_MESSAGES/django.po +1 -1
  132. wagtail/locale/vi/LC_MESSAGES/django.po +1 -1
  133. wagtail/locale/zh/LC_MESSAGES/django.po +1 -1
  134. wagtail/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
  135. wagtail/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
  136. wagtail/locales/locale/en/LC_MESSAGES/django.po +1 -1
  137. wagtail/search/locale/en/LC_MESSAGES/django.po +1 -1
  138. wagtail/sites/locale/en/LC_MESSAGES/django.po +1 -1
  139. wagtail/snippets/locale/en/LC_MESSAGES/django.po +1 -1
  140. wagtail/test/customuser/models.py +6 -3
  141. wagtail/tests/test_streamfield.py +35 -0
  142. wagtail/users/locale/en/LC_MESSAGES/django.po +1 -1
  143. {wagtail-6.2.dist-info → wagtail-6.2.1.dist-info}/METADATA +1 -1
  144. {wagtail-6.2.dist-info → wagtail-6.2.1.dist-info}/RECORD +148 -148
  145. {wagtail-6.2.dist-info → wagtail-6.2.1.dist-info}/LICENSE +0 -0
  146. {wagtail-6.2.dist-info → wagtail-6.2.1.dist-info}/WHEEL +0 -0
  147. {wagtail-6.2.dist-info → wagtail-6.2.1.dist-info}/entry_points.txt +0 -0
  148. {wagtail-6.2.dist-info → wagtail-6.2.1.dist-info}/top_level.txt +0 -0
@@ -10,7 +10,7 @@ from django.utils import timezone
10
10
  from freezegun import freeze_time
11
11
 
12
12
  from wagtail.admin.models import EditingSession
13
- from wagtail.models import GroupPagePermission, Page
13
+ from wagtail.models import GroupPagePermission, Page, Workflow, WorkflowContentType
14
14
  from wagtail.test.testapp.models import (
15
15
  Advert,
16
16
  AdvertWithCustomPrimaryKey,
@@ -969,6 +969,45 @@ class TestPingView(WagtailTestUtils, TestCase):
969
969
  )
970
970
  self.assertEqual(response.status_code, 200)
971
971
 
972
+ def test_moderator_without_explicit_edit_permission_on_page(self):
973
+ # submit page for moderation
974
+ workflow = self.page.get_workflow()
975
+ workflow.start(self.page, self.other_user)
976
+
977
+ # Revoke all page permissions from the Moderators group, so that the workflow is
978
+ # the only thing granting them access to the page
979
+ moderators = Group.objects.get(name="Moderators")
980
+ moderators.page_permissions.all().delete()
981
+
982
+ # make user a moderator
983
+ self.user.is_superuser = False
984
+ self.user.save()
985
+ self.user.groups.add(moderators)
986
+
987
+ # access to the ping endpoint should be granted
988
+ response = self.client.post(
989
+ reverse(
990
+ "wagtailadmin_editing_sessions:ping",
991
+ args=("wagtailcore", "page", self.page.id, self.session.id),
992
+ )
993
+ )
994
+ self.assertEqual(response.status_code, 200)
995
+
996
+ def test_locked_page(self):
997
+ self.page.locked = True
998
+ self.page.locked_by = self.other_user
999
+ self.page.locked_at = TIMESTAMP_PAST
1000
+ self.page.save()
1001
+
1002
+ # access to the ping endpoint should be granted
1003
+ response = self.client.post(
1004
+ reverse(
1005
+ "wagtailadmin_editing_sessions:ping",
1006
+ args=("wagtailcore", "page", self.page.id, self.session.id),
1007
+ )
1008
+ )
1009
+ self.assertEqual(response.status_code, 200)
1010
+
972
1011
  @freeze_time(TIMESTAMP_NOW)
973
1012
  def test_ping_snippet_model(self):
974
1013
  snippet = Advert.objects.create(text="Test snippet")
@@ -1061,6 +1100,69 @@ class TestPingView(WagtailTestUtils, TestCase):
1061
1100
  )
1062
1101
  self.assertEqual(response.status_code, 404)
1063
1102
 
1103
+ def test_moderator_without_explicit_edit_permission_on_snippet(self):
1104
+ snippet = FullFeaturedSnippet.objects.create(text="Test snippet")
1105
+ snippet.save_revision(user=self.other_user)
1106
+
1107
+ # Assign default workflow to the snippet model
1108
+ snippet_content_type = ContentType.objects.get_for_model(FullFeaturedSnippet)
1109
+ workflow = Workflow.objects.get()
1110
+ WorkflowContentType.objects.create(
1111
+ content_type=snippet_content_type,
1112
+ workflow=workflow,
1113
+ )
1114
+
1115
+ # submit snippet for moderation
1116
+ workflow = snippet.get_workflow()
1117
+ workflow.start(snippet, self.other_user)
1118
+
1119
+ # make user a moderator. The Moderators group has no explicit permission over the
1120
+ # FullFeaturedSnippet model, and is only granted access to it via the workflow
1121
+ moderators = Group.objects.get(name="Moderators")
1122
+ self.user.is_superuser = False
1123
+ self.user.save()
1124
+ self.user.groups.add(moderators)
1125
+
1126
+ session = EditingSession.objects.create(
1127
+ user=self.user,
1128
+ content_type=ContentType.objects.get_for_model(FullFeaturedSnippet),
1129
+ object_id=snippet.pk,
1130
+ last_seen_at=TIMESTAMP_1,
1131
+ )
1132
+
1133
+ # access to the ping endpoint should be granted
1134
+ response = self.client.post(
1135
+ reverse(
1136
+ "wagtailadmin_editing_sessions:ping",
1137
+ args=("tests", "fullfeaturedsnippet", snippet.id, session.id),
1138
+ )
1139
+ )
1140
+ self.assertEqual(response.status_code, 200)
1141
+
1142
+ def test_locked_snippet(self):
1143
+ snippet = FullFeaturedSnippet.objects.create(text="Test snippet")
1144
+
1145
+ snippet.locked = True
1146
+ snippet.locked_by = self.other_user
1147
+ snippet.locked_at = TIMESTAMP_PAST
1148
+ snippet.save()
1149
+
1150
+ session = EditingSession.objects.create(
1151
+ user=self.user,
1152
+ content_type=ContentType.objects.get_for_model(FullFeaturedSnippet),
1153
+ object_id=snippet.pk,
1154
+ last_seen_at=TIMESTAMP_1,
1155
+ )
1156
+
1157
+ # access to the ping endpoint should be granted
1158
+ response = self.client.post(
1159
+ reverse(
1160
+ "wagtailadmin_editing_sessions:ping",
1161
+ args=("tests", "fullfeaturedsnippet", snippet.id, session.id),
1162
+ )
1163
+ )
1164
+ self.assertEqual(response.status_code, 200)
1165
+
1064
1166
  def test_must_post(self):
1065
1167
  response = self.client.get(
1066
1168
  reverse(
@@ -11,8 +11,7 @@ from django.views.decorators.http import require_POST
11
11
  from wagtail.admin.models import EditingSession
12
12
  from wagtail.admin.ui.editing_sessions import EditingSessionsList
13
13
  from wagtail.admin.utils import get_user_display_name
14
- from wagtail.models import Page, Revision, RevisionMixin
15
- from wagtail.permissions import page_permission_policy
14
+ from wagtail.models import Page, Revision, RevisionMixin, WorkflowMixin
16
15
 
17
16
 
18
17
  @require_POST
@@ -28,7 +27,7 @@ def ping(request, app_label, model_name, object_id, session_id):
28
27
 
29
28
  obj = get_object_or_404(model, pk=unquoted_object_id)
30
29
  if isinstance(obj, Page):
31
- permission_policy = page_permission_policy
30
+ can_edit = obj.permissions_for_user(request.user).can_edit()
32
31
  else:
33
32
  try:
34
33
  permission_policy = model.snippet_viewset.permission_policy
@@ -36,9 +35,19 @@ def ping(request, app_label, model_name, object_id, session_id):
36
35
  # model is neither a Page nor a snippet
37
36
  raise Http404
38
37
 
39
- if not permission_policy.user_has_permission_for_instance(
40
- request.user, "change", obj
41
- ):
38
+ can_edit = permission_policy.user_has_permission_for_instance(
39
+ request.user, "change", obj
40
+ )
41
+ if not can_edit and isinstance(obj, WorkflowMixin):
42
+ workflow = obj.get_workflow()
43
+ if workflow is not None:
44
+ current_workflow_task = obj.current_workflow_task
45
+ can_edit = (
46
+ current_workflow_task
47
+ and current_workflow_task.user_can_access_editor(obj, request.user)
48
+ )
49
+
50
+ if not can_edit:
42
51
  raise Http404
43
52
 
44
53
  try:
@@ -159,11 +159,16 @@ class ListBlock(Block):
159
159
 
160
160
  @classmethod
161
161
  def construct_from_lookup(cls, lookup, *args, **kwargs):
162
- if getattr(cls.__init__, "has_child_block_arg", False) and isinstance(
163
- args[0], int
164
- ):
165
- child_block = lookup.get_block(args[0])
166
- args = (child_block, *args[1:])
162
+ if getattr(cls.__init__, "has_child_block_arg", False):
163
+ if args and isinstance(args[0], int):
164
+ child_block = lookup.get_block(args[0])
165
+ args = (child_block, *args[1:])
166
+ else:
167
+ child_block_kwarg = kwargs.get("child_block")
168
+ if isinstance(child_block_kwarg, int):
169
+ child_block = lookup.get_block(child_block_kwarg)
170
+ kwargs["child_block"] = child_block
171
+
167
172
  return cls(*args, **kwargs)
168
173
 
169
174
  def value_from_datadict(self, data, files, prefix):
@@ -413,11 +418,16 @@ class ListBlock(Block):
413
418
 
414
419
  def deconstruct_with_lookup(self, lookup):
415
420
  path, args, kwargs = super().deconstruct_with_lookup(lookup)
416
- if getattr(self.__init__, "has_child_block_arg", False) and isinstance(
417
- args[0], Block
418
- ):
419
- block_id = lookup.add_block(args[0])
420
- args = (block_id, *args[1:])
421
+ if getattr(self.__init__, "has_child_block_arg", False):
422
+ if args and isinstance(args[0], Block):
423
+ block_id = lookup.add_block(args[0])
424
+ args = (block_id, *args[1:])
425
+ else:
426
+ child_block = kwargs.get("child_block")
427
+ if isinstance(child_block, Block):
428
+ block_id = lookup.add_block(child_block)
429
+ kwargs["child_block"] = block_id
430
+
421
431
  return path, args, kwargs
422
432
 
423
433
  class Meta:
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:06+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Wagtail\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
10
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
11
11
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Afrikaans (http://app.transifex.com/torchbox/wagtail/language/"
@@ -11,7 +11,7 @@ msgid ""
11
11
  msgstr ""
12
12
  "Project-Id-Version: Wagtail\n"
13
13
  "Report-Msgid-Bugs-To: \n"
14
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
14
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
15
15
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
16
16
  "Last-Translator: ultraify media <ultraify@gmail.com>, 2018\n"
17
17
  "Language-Team: Arabic (http://app.transifex.com/torchbox/wagtail/language/"
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Wagtail\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
10
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
11
11
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Azerbaijani (Azerbaijan) (http://app.transifex.com/torchbox/"
@@ -9,7 +9,7 @@ msgid ""
9
9
  msgstr ""
10
10
  "Project-Id-Version: Wagtail\n"
11
11
  "Report-Msgid-Bugs-To: \n"
12
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
12
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
13
13
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
14
14
  "Last-Translator: Andrei Satsevich, 2023\n"
15
15
  "Language-Team: Belarusian (http://app.transifex.com/torchbox/wagtail/"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: Wagtail\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
12
12
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
13
13
  "Last-Translator: Lyuboslav Petrov <petrov.lyuboslav@gmail.com>, 2014\n"
14
14
  "Language-Team: Bulgarian (http://app.transifex.com/torchbox/wagtail/language/"
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Wagtail\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
10
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
11
11
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Bengali (http://app.transifex.com/torchbox/wagtail/language/"
@@ -10,7 +10,7 @@ msgid ""
10
10
  msgstr ""
11
11
  "Project-Id-Version: Wagtail\n"
12
12
  "Report-Msgid-Bugs-To: \n"
13
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
13
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
14
14
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
15
15
  "Last-Translator: Roger Pons <rogerpons@gmail.com>, 2016-2017,2020,2023-2024\n"
16
16
  "Language-Team: Catalan (http://app.transifex.com/torchbox/wagtail/language/"
@@ -15,7 +15,7 @@ msgid ""
15
15
  msgstr ""
16
16
  "Project-Id-Version: Wagtail\n"
17
17
  "Report-Msgid-Bugs-To: \n"
18
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
18
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
19
19
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
20
20
  "Last-Translator: IT Management <hudan@itmanagement.cz>, 2018,2020,2024\n"
21
21
  "Language-Team: Czech (http://app.transifex.com/torchbox/wagtail/language/"
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Wagtail\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
10
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
11
11
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Welsh (http://app.transifex.com/torchbox/wagtail/language/"
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Wagtail\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
10
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
11
11
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Danish (http://app.transifex.com/torchbox/wagtail/language/"
@@ -39,7 +39,7 @@ msgid ""
39
39
  msgstr ""
40
40
  "Project-Id-Version: Wagtail\n"
41
41
  "Report-Msgid-Bugs-To: \n"
42
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
42
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
43
43
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
44
44
  "Last-Translator: Stefan Hammer <stefan@hammerworxx.com>, 2022-2024\n"
45
45
  "Language-Team: German (http://app.transifex.com/torchbox/wagtail/language/"
@@ -9,7 +9,7 @@ msgid ""
9
9
  msgstr ""
10
10
  "Project-Id-Version: Wagtail\n"
11
11
  "Report-Msgid-Bugs-To: \n"
12
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
12
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
13
13
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
14
14
  "Last-Translator: Matt Westcott <matthew@torchbox.com>, 2024\n"
15
15
  "Language-Team: Divehi (http://app.transifex.com/torchbox/wagtail/language/"
@@ -18,7 +18,7 @@ msgid ""
18
18
  msgstr ""
19
19
  "Project-Id-Version: Wagtail\n"
20
20
  "Report-Msgid-Bugs-To: \n"
21
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
21
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
22
22
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
23
23
  "Last-Translator: 79353a696ad19dc202b261b3067b7640_bec941e, 2015\n"
24
24
  "Language-Team: Greek (http://app.transifex.com/torchbox/wagtail/language/"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -30,35 +30,35 @@ msgstr ""
30
30
  msgid "Add Comment"
31
31
  msgstr ""
32
32
 
33
- #: blocks/list_block.py:208 blocks/stream_block.py:178
33
+ #: blocks/list_block.py:222 blocks/stream_block.py:178
34
34
  #: blocks/stream_block.py:208
35
35
  #, python-format
36
36
  msgid "The minimum number of items is %(min_num)d"
37
37
  msgstr ""
38
38
 
39
- #: blocks/list_block.py:216 blocks/stream_block.py:188
39
+ #: blocks/list_block.py:230 blocks/stream_block.py:188
40
40
  #: blocks/stream_block.py:218
41
41
  #, python-format
42
42
  msgid "The maximum number of items is %(max_num)d"
43
43
  msgstr ""
44
44
 
45
- #: blocks/list_block.py:434 blocks/stream_block.py:837
45
+ #: blocks/list_block.py:456 blocks/stream_block.py:837
46
46
  msgid "Move up"
47
47
  msgstr ""
48
48
 
49
- #: blocks/list_block.py:435 blocks/stream_block.py:838
49
+ #: blocks/list_block.py:457 blocks/stream_block.py:838
50
50
  msgid "Move down"
51
51
  msgstr ""
52
52
 
53
- #: blocks/list_block.py:436 blocks/stream_block.py:839
53
+ #: blocks/list_block.py:458 blocks/stream_block.py:839
54
54
  msgid "Duplicate"
55
55
  msgstr ""
56
56
 
57
- #: blocks/list_block.py:437 blocks/stream_block.py:840 wagtail_hooks.py:115
57
+ #: blocks/list_block.py:459 blocks/stream_block.py:840 wagtail_hooks.py:115
58
58
  msgid "Delete"
59
59
  msgstr ""
60
60
 
61
- #: blocks/list_block.py:438 blocks/stream_block.py:841 models/__init__.py:1123
61
+ #: blocks/list_block.py:460 blocks/stream_block.py:841 models/__init__.py:1123
62
62
  msgid "Add"
63
63
  msgstr ""
64
64
 
@@ -26,7 +26,7 @@ msgid ""
26
26
  msgstr ""
27
27
  "Project-Id-Version: Wagtail\n"
28
28
  "Report-Msgid-Bugs-To: \n"
29
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
29
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
30
30
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
31
31
  "Last-Translator: Matt Westcott <matthew@torchbox.com>, 2024\n"
32
32
  "Language-Team: Spanish (http://app.transifex.com/torchbox/wagtail/language/"
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Wagtail\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
10
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
11
11
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Spanish (Latin America) (http://app.transifex.com/torchbox/"
@@ -11,7 +11,7 @@ msgid ""
11
11
  msgstr ""
12
12
  "Project-Id-Version: Wagtail\n"
13
13
  "Report-Msgid-Bugs-To: \n"
14
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
14
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
15
15
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
16
16
  "Last-Translator: Martin <martinpajuste@gmail.com>, 2023\n"
17
17
  "Language-Team: Estonian (http://app.transifex.com/torchbox/wagtail/language/"
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Wagtail\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
10
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
11
11
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Basque (http://app.transifex.com/torchbox/wagtail/language/"
@@ -12,7 +12,7 @@ msgid ""
12
12
  msgstr ""
13
13
  "Project-Id-Version: Wagtail\n"
14
14
  "Report-Msgid-Bugs-To: \n"
15
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
15
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
16
16
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
17
17
  "Last-Translator: pyzenberg <pyzenberg@gmail.com>, 2017\n"
18
18
  "Language-Team: Persian (http://app.transifex.com/torchbox/wagtail/language/"
@@ -14,7 +14,7 @@ msgid ""
14
14
  msgstr ""
15
15
  "Project-Id-Version: Wagtail\n"
16
16
  "Report-Msgid-Bugs-To: \n"
17
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
17
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
18
18
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
19
19
  "Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>, 2020-2024\n"
20
20
  "Language-Team: Finnish (http://app.transifex.com/torchbox/wagtail/language/"
@@ -22,7 +22,7 @@ msgid ""
22
22
  msgstr ""
23
23
  "Project-Id-Version: Wagtail\n"
24
24
  "Report-Msgid-Bugs-To: \n"
25
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
25
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
26
26
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
27
27
  "Last-Translator: Sébastien Corbin <seb.corbin@gmail.com>, 2023-2024\n"
28
28
  "Language-Team: French (http://app.transifex.com/torchbox/wagtail/language/"
@@ -11,7 +11,7 @@ msgid ""
11
11
  msgstr ""
12
12
  "Project-Id-Version: Wagtail\n"
13
13
  "Report-Msgid-Bugs-To: \n"
14
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
14
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
15
15
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
16
16
  "Last-Translator: X Bello <xbello@gmail.com>, 2022-2024\n"
17
17
  "Language-Team: Galician (http://app.transifex.com/torchbox/wagtail/language/"
@@ -11,7 +11,7 @@ msgid ""
11
11
  msgstr ""
12
12
  "Project-Id-Version: Wagtail\n"
13
13
  "Report-Msgid-Bugs-To: \n"
14
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
14
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
15
15
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
16
16
  "Last-Translator: lior abazon <abazon@v15.org.il>, 2015\n"
17
17
  "Language-Team: Hebrew (Israel) (http://app.transifex.com/torchbox/wagtail/"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: Wagtail\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
11
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
12
12
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
13
13
  "Last-Translator: Dino Aljević <dino8890@protonmail.com>, 2020,2022-2023\n"
14
14
  "Language-Team: Croatian (Croatia) (http://app.transifex.com/torchbox/wagtail/"
@@ -11,7 +11,7 @@ msgid ""
11
11
  msgstr ""
12
12
  "Project-Id-Version: Wagtail\n"
13
13
  "Report-Msgid-Bugs-To: \n"
14
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
14
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
15
15
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
16
16
  "Last-Translator: Istvan Farkas <istvan.farkas@gmail.com>, 2019-2023\n"
17
17
  "Language-Team: Hungarian (http://app.transifex.com/torchbox/wagtail/language/"
@@ -10,7 +10,7 @@ msgid ""
10
10
  msgstr ""
11
11
  "Project-Id-Version: Wagtail\n"
12
12
  "Report-Msgid-Bugs-To: \n"
13
- "POT-Creation-Date: 2024-07-19 16:26+0100\n"
13
+ "POT-Creation-Date: 2024-08-07 10:05+0100\n"
14
14
  "PO-Revision-Date: 2014-02-21 15:51+0000\n"
15
15
  "Last-Translator: Ronggo Radityo <radityo3000@yahoo.com>, 2017\n"
16
16
  "Language-Team: Indonesian (Indonesia) (http://app.transifex.com/torchbox/"