wagtail 7.1.2__py3-none-any.whl → 7.2__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 (1125) hide show
  1. wagtail/__init__.py +1 -1
  2. wagtail/actions/copy_page.py +1 -1
  3. wagtail/actions/create_alias.py +1 -1
  4. wagtail/actions/delete_page.py +1 -1
  5. wagtail/actions/publish_page_revision.py +1 -1
  6. wagtail/actions/publish_revision.py +1 -1
  7. wagtail/actions/revert_to_page_revision.py +1 -1
  8. wagtail/actions/unpublish.py +1 -1
  9. wagtail/actions/unpublish_page.py +1 -1
  10. wagtail/admin/auth.py +3 -1
  11. wagtail/admin/checks.py +2 -2
  12. wagtail/admin/filters.py +28 -1
  13. wagtail/admin/forms/collections.py +1 -1
  14. wagtail/admin/forms/comments.py +1 -1
  15. wagtail/admin/forms/models.py +1 -1
  16. wagtail/admin/forms/pages.py +1 -1
  17. wagtail/admin/forms/tags.py +1 -1
  18. wagtail/admin/locale/ar/LC_MESSAGES/django.mo +0 -0
  19. wagtail/admin/locale/ar/LC_MESSAGES/django.po +44 -89
  20. wagtail/admin/locale/az_AZ/LC_MESSAGES/django.mo +0 -0
  21. wagtail/admin/locale/az_AZ/LC_MESSAGES/django.po +4 -7
  22. wagtail/admin/locale/be/LC_MESSAGES/django.mo +0 -0
  23. wagtail/admin/locale/be/LC_MESSAGES/django.po +15 -42
  24. wagtail/admin/locale/bg/LC_MESSAGES/django.mo +0 -0
  25. wagtail/admin/locale/bg/LC_MESSAGES/django.po +7 -16
  26. wagtail/admin/locale/bn/LC_MESSAGES/django.mo +0 -0
  27. wagtail/admin/locale/bn/LC_MESSAGES/django.po +4 -13
  28. wagtail/admin/locale/ca/LC_MESSAGES/django.mo +0 -0
  29. wagtail/admin/locale/ca/LC_MESSAGES/django.po +159 -74
  30. wagtail/admin/locale/ca/LC_MESSAGES/djangojs.mo +0 -0
  31. wagtail/admin/locale/ca/LC_MESSAGES/djangojs.po +11 -0
  32. wagtail/admin/locale/cs/LC_MESSAGES/django.mo +0 -0
  33. wagtail/admin/locale/cs/LC_MESSAGES/django.po +40 -50
  34. wagtail/admin/locale/cy/LC_MESSAGES/django.mo +0 -0
  35. wagtail/admin/locale/cy/LC_MESSAGES/django.po +6 -13
  36. wagtail/admin/locale/da/LC_MESSAGES/django.mo +0 -0
  37. wagtail/admin/locale/da/LC_MESSAGES/django.po +10 -22
  38. wagtail/admin/locale/de/LC_MESSAGES/django.mo +0 -0
  39. wagtail/admin/locale/de/LC_MESSAGES/django.po +42 -93
  40. wagtail/admin/locale/dv/LC_MESSAGES/django.mo +0 -0
  41. wagtail/admin/locale/dv/LC_MESSAGES/django.po +26 -64
  42. wagtail/admin/locale/el/LC_MESSAGES/django.mo +0 -0
  43. wagtail/admin/locale/el/LC_MESSAGES/django.po +9 -31
  44. wagtail/admin/locale/en/LC_MESSAGES/django.po +278 -192
  45. wagtail/admin/locale/en/LC_MESSAGES/djangojs.po +29 -15
  46. wagtail/admin/locale/es/LC_MESSAGES/django.mo +0 -0
  47. wagtail/admin/locale/es/LC_MESSAGES/django.po +17 -52
  48. wagtail/admin/locale/es_419/LC_MESSAGES/django.mo +0 -0
  49. wagtail/admin/locale/es_419/LC_MESSAGES/django.po +4 -22
  50. wagtail/admin/locale/es_VE/LC_MESSAGES/django.mo +0 -0
  51. wagtail/admin/locale/es_VE/LC_MESSAGES/django.po +4 -7
  52. wagtail/admin/locale/et/LC_MESSAGES/django.mo +0 -0
  53. wagtail/admin/locale/et/LC_MESSAGES/django.po +15 -42
  54. wagtail/admin/locale/eu/LC_MESSAGES/django.po +1 -1
  55. wagtail/admin/locale/fa/LC_MESSAGES/django.mo +0 -0
  56. wagtail/admin/locale/fa/LC_MESSAGES/django.po +12 -50
  57. wagtail/admin/locale/fi/LC_MESSAGES/django.mo +0 -0
  58. wagtail/admin/locale/fi/LC_MESSAGES/django.po +43 -70
  59. wagtail/admin/locale/fi/LC_MESSAGES/djangojs.mo +0 -0
  60. wagtail/admin/locale/fi/LC_MESSAGES/djangojs.po +17 -0
  61. wagtail/admin/locale/fr/LC_MESSAGES/django.mo +0 -0
  62. wagtail/admin/locale/fr/LC_MESSAGES/django.po +157 -74
  63. wagtail/admin/locale/fr/LC_MESSAGES/djangojs.mo +0 -0
  64. wagtail/admin/locale/fr/LC_MESSAGES/djangojs.po +11 -0
  65. wagtail/admin/locale/gl/LC_MESSAGES/django.mo +0 -0
  66. wagtail/admin/locale/gl/LC_MESSAGES/django.po +155 -72
  67. wagtail/admin/locale/gl/LC_MESSAGES/djangojs.mo +0 -0
  68. wagtail/admin/locale/gl/LC_MESSAGES/djangojs.po +11 -0
  69. wagtail/admin/locale/he_IL/LC_MESSAGES/django.mo +0 -0
  70. wagtail/admin/locale/he_IL/LC_MESSAGES/django.po +7 -28
  71. wagtail/admin/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
  72. wagtail/admin/locale/hr_HR/LC_MESSAGES/django.po +15 -38
  73. wagtail/admin/locale/ht/LC_MESSAGES/django.po +4 -4
  74. wagtail/admin/locale/hu/LC_MESSAGES/django.mo +0 -0
  75. wagtail/admin/locale/hu/LC_MESSAGES/django.po +44 -91
  76. wagtail/admin/locale/id_ID/LC_MESSAGES/django.mo +0 -0
  77. wagtail/admin/locale/id_ID/LC_MESSAGES/django.po +10 -31
  78. wagtail/admin/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  79. wagtail/admin/locale/is_IS/LC_MESSAGES/django.po +41 -87
  80. wagtail/admin/locale/it/LC_MESSAGES/django.mo +0 -0
  81. wagtail/admin/locale/it/LC_MESSAGES/django.po +34 -78
  82. wagtail/admin/locale/ja/LC_MESSAGES/django.mo +0 -0
  83. wagtail/admin/locale/ja/LC_MESSAGES/django.po +15 -42
  84. wagtail/admin/locale/ka/LC_MESSAGES/django.po +4 -4
  85. wagtail/admin/locale/ko/LC_MESSAGES/django.mo +0 -0
  86. wagtail/admin/locale/ko/LC_MESSAGES/django.po +20 -57
  87. wagtail/admin/locale/lt/LC_MESSAGES/django.mo +0 -0
  88. wagtail/admin/locale/lt/LC_MESSAGES/django.po +12 -31
  89. wagtail/admin/locale/lv/LC_MESSAGES/django.mo +0 -0
  90. wagtail/admin/locale/lv/LC_MESSAGES/django.po +9 -40
  91. wagtail/admin/locale/mi/LC_MESSAGES/django.mo +0 -0
  92. wagtail/admin/locale/mi/LC_MESSAGES/django.po +6 -10
  93. wagtail/admin/locale/mn/LC_MESSAGES/django.mo +0 -0
  94. wagtail/admin/locale/mn/LC_MESSAGES/django.po +10 -43
  95. wagtail/admin/locale/my/LC_MESSAGES/django.po +4 -4
  96. wagtail/admin/locale/nb/LC_MESSAGES/django.mo +0 -0
  97. wagtail/admin/locale/nb/LC_MESSAGES/django.po +15 -53
  98. wagtail/admin/locale/nl/LC_MESSAGES/django.mo +0 -0
  99. wagtail/admin/locale/nl/LC_MESSAGES/django.po +208 -70
  100. wagtail/admin/locale/nl/LC_MESSAGES/djangojs.mo +0 -0
  101. wagtail/admin/locale/nl/LC_MESSAGES/djangojs.po +19 -2
  102. wagtail/admin/locale/pl/LC_MESSAGES/django.mo +0 -0
  103. wagtail/admin/locale/pl/LC_MESSAGES/django.po +27 -72
  104. wagtail/admin/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  105. wagtail/admin/locale/pt_BR/LC_MESSAGES/django.po +38 -83
  106. wagtail/admin/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  107. wagtail/admin/locale/pt_PT/LC_MESSAGES/django.po +17 -56
  108. wagtail/admin/locale/ro/LC_MESSAGES/django.mo +0 -0
  109. wagtail/admin/locale/ro/LC_MESSAGES/django.po +23 -68
  110. wagtail/admin/locale/ru/LC_MESSAGES/django.mo +0 -0
  111. wagtail/admin/locale/ru/LC_MESSAGES/django.po +96 -84
  112. wagtail/admin/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  113. wagtail/admin/locale/sk_SK/LC_MESSAGES/django.po +9 -28
  114. wagtail/admin/locale/sl/LC_MESSAGES/django.mo +0 -0
  115. wagtail/admin/locale/sl/LC_MESSAGES/django.po +45 -90
  116. wagtail/admin/locale/sv/LC_MESSAGES/django.mo +0 -0
  117. wagtail/admin/locale/sv/LC_MESSAGES/django.po +27 -72
  118. wagtail/admin/locale/tet/LC_MESSAGES/django.mo +0 -0
  119. wagtail/admin/locale/tet/LC_MESSAGES/django.po +12 -22
  120. wagtail/admin/locale/th/LC_MESSAGES/django.mo +0 -0
  121. wagtail/admin/locale/th/LC_MESSAGES/django.po +10 -42
  122. wagtail/admin/locale/tr/LC_MESSAGES/django.mo +0 -0
  123. wagtail/admin/locale/tr/LC_MESSAGES/django.po +64 -70
  124. wagtail/admin/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  125. wagtail/admin/locale/tr_TR/LC_MESSAGES/django.po +15 -42
  126. wagtail/admin/locale/ug/LC_MESSAGES/django.mo +0 -0
  127. wagtail/admin/locale/ug/LC_MESSAGES/django.po +38 -83
  128. wagtail/admin/locale/uk/LC_MESSAGES/django.mo +0 -0
  129. wagtail/admin/locale/uk/LC_MESSAGES/django.po +15 -45
  130. wagtail/admin/locale/vi/LC_MESSAGES/django.mo +0 -0
  131. wagtail/admin/locale/vi/LC_MESSAGES/django.po +4 -17
  132. wagtail/admin/locale/zh/LC_MESSAGES/django.mo +0 -0
  133. wagtail/admin/locale/zh/LC_MESSAGES/django.po +7 -19
  134. wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  135. wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.po +17 -54
  136. wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.mo +0 -0
  137. wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.po +15 -37
  138. wagtail/admin/static/wagtailadmin/css/core.css +1 -1
  139. wagtail/admin/static/wagtailadmin/js/bulk-actions.js +1 -1
  140. wagtail/admin/static/wagtailadmin/js/chooser-modal.js +1 -1
  141. wagtail/admin/static/wagtailadmin/js/chooser-widget-telepath.js +1 -1
  142. wagtail/admin/static/wagtailadmin/js/chooser-widget.js +1 -1
  143. wagtail/admin/static/wagtailadmin/js/comments.js +1 -1
  144. wagtail/admin/static/wagtailadmin/js/core.js +1 -1
  145. wagtail/admin/static/wagtailadmin/js/core.js.LICENSE.txt +2 -2
  146. wagtail/admin/static/wagtailadmin/js/date-time-chooser.js +1 -1
  147. wagtail/admin/static/wagtailadmin/js/draftail.js +1 -1
  148. wagtail/admin/static/wagtailadmin/js/filtered-select.js +1 -1
  149. wagtail/admin/static/wagtailadmin/js/icons.js +1 -1
  150. wagtail/admin/static/wagtailadmin/js/modal-workflow.js +1 -1
  151. wagtail/admin/static/wagtailadmin/js/page-chooser-modal.js +1 -1
  152. wagtail/admin/static/wagtailadmin/js/page-chooser-telepath.js +1 -1
  153. wagtail/admin/static/wagtailadmin/js/page-chooser.js +1 -1
  154. wagtail/admin/static/wagtailadmin/js/privacy-switch.js +1 -1
  155. wagtail/admin/static/wagtailadmin/js/sidebar.js +1 -1
  156. wagtail/admin/static/wagtailadmin/js/task-chooser-modal.js +1 -1
  157. wagtail/admin/static/wagtailadmin/js/task-chooser.js +1 -1
  158. wagtail/admin/static/wagtailadmin/js/telepath/blocks.js +1 -1
  159. wagtail/admin/static/wagtailadmin/js/telepath/telepath.js +1 -1
  160. wagtail/admin/static/wagtailadmin/js/telepath/widgets.js +1 -1
  161. wagtail/admin/static/wagtailadmin/js/userbar.js +1 -1
  162. wagtail/admin/static/wagtailadmin/js/userbar.js.LICENSE.txt +2 -2
  163. wagtail/admin/static/wagtailadmin/js/vendor/bootstrap-modal.js +1 -1
  164. wagtail/admin/static/wagtailadmin/js/vendor/bootstrap-transition.js +1 -1
  165. wagtail/admin/static/wagtailadmin/js/vendor/jquery-3.6.0.min.js +1 -1
  166. wagtail/admin/static/wagtailadmin/js/vendor/jquery-ui-1.13.2.min.js +1 -1
  167. wagtail/admin/static/wagtailadmin/js/vendor/jquery.datetimepicker.js +1 -1
  168. wagtail/admin/static/wagtailadmin/js/vendor/jquery.fileupload-process.js +1 -1
  169. wagtail/admin/static/wagtailadmin/js/vendor/jquery.fileupload.js +1 -1
  170. wagtail/admin/static/wagtailadmin/js/vendor/jquery.iframe-transport.js +1 -1
  171. wagtail/admin/static/wagtailadmin/js/vendor/tag-it.js +1 -1
  172. wagtail/admin/static/wagtailadmin/js/vendor.js +1 -1
  173. wagtail/admin/static/wagtailadmin/js/vendor.js.LICENSE.txt +1 -1
  174. wagtail/admin/static/wagtailadmin/js/wagtailadmin.js +1 -1
  175. wagtail/admin/static/wagtailadmin/js/workflow-action.js +1 -1
  176. wagtail/admin/templates/wagtailadmin/account/account.html +2 -0
  177. wagtail/admin/templates/wagtailadmin/base.html +14 -0
  178. wagtail/admin/templates/wagtailadmin/generic/chooser/chooser.html +2 -1
  179. wagtail/admin/templates/wagtailadmin/generic/chooser/creation_form.html +2 -1
  180. wagtail/admin/templates/wagtailadmin/panels/multi_field_panel_child.html +1 -1
  181. wagtail/admin/templates/wagtailadmin/panels/object_list.html +1 -1
  182. wagtail/admin/templates/wagtailadmin/panels/tabbed_interface.html +3 -2
  183. wagtail/admin/templates/wagtailadmin/shared/formatted_field.html +1 -1
  184. wagtail/admin/templates/wagtailadmin/shared/forms/single_checkbox.html +1 -1
  185. wagtail/admin/templates/wagtailadmin/shared/keyboard_shortcuts_dialog.html +19 -0
  186. wagtail/admin/templates/wagtailadmin/shared/panel.html +1 -1
  187. wagtail/admin/templates/wagtailadmin/shared/set_privacy.html +15 -0
  188. wagtail/admin/templates/wagtailadmin/shared/side_panels/checks.html +28 -1
  189. wagtail/admin/templates/wagtailadmin/shared/workflow_history/detail.html +2 -2
  190. wagtail/admin/templates/wagtailadmin/{pages/listing/_ordering_header.html → tables/ordering_header.html} +2 -2
  191. wagtail/admin/templates/wagtailadmin/tables/title_cell.html +1 -1
  192. wagtail/admin/templates/wagtailadmin/widgets/{daterange_input.html → range_input.html} +1 -1
  193. wagtail/admin/templates/wagtailadmin/workflows/task_chooser/chooser.html +4 -2
  194. wagtail/admin/templatetags/wagtailadmin_tags.py +41 -22
  195. wagtail/admin/tests/api/test_pages.py +7 -7
  196. wagtail/admin/tests/api/test_renderer_classes.py +16 -0
  197. wagtail/admin/tests/pages/test_create_page.py +42 -2
  198. wagtail/admin/tests/pages/test_edit_page.py +128 -14
  199. wagtail/admin/tests/pages/test_explorer_view.py +34 -7
  200. wagtail/admin/tests/pages/test_reorder_page.py +11 -0
  201. wagtail/admin/tests/test_collections_views.py +12 -0
  202. wagtail/admin/tests/test_edit_handlers.py +3 -3
  203. wagtail/admin/tests/test_filters.py +2 -2
  204. wagtail/admin/tests/test_keyboard_shortcuts.py +52 -2
  205. wagtail/admin/tests/test_menu.py +0 -2
  206. wagtail/admin/tests/test_privacy.py +16 -16
  207. wagtail/admin/tests/test_templatetags.py +137 -0
  208. wagtail/admin/tests/test_workflows.py +34 -0
  209. wagtail/admin/tests/viewsets/test_model_viewset.py +322 -0
  210. wagtail/admin/ui/tables/orderable.py +73 -0
  211. wagtail/admin/ui/tables/pages.py +3 -13
  212. wagtail/admin/views/collection_privacy.py +6 -2
  213. wagtail/admin/views/generic/__init__.py +1 -0
  214. wagtail/admin/views/generic/mixins.py +20 -2
  215. wagtail/admin/views/generic/models.py +67 -1
  216. wagtail/admin/views/generic/ordering.py +79 -0
  217. wagtail/admin/views/home.py +3 -3
  218. wagtail/admin/views/page_privacy.py +5 -2
  219. wagtail/admin/views/pages/create.py +1 -1
  220. wagtail/admin/views/pages/edit.py +2 -2
  221. wagtail/admin/views/pages/listing.py +7 -42
  222. wagtail/admin/views/pages/move.py +1 -1
  223. wagtail/admin/views/pages/ordering.py +1 -1
  224. wagtail/admin/viewsets/base.py +1 -1
  225. wagtail/admin/viewsets/model.py +49 -1
  226. wagtail/admin/wagtail_hooks.py +2 -1
  227. wagtail/admin/widgets/slug.py +10 -10
  228. wagtail/api/v2/serializers.py +1 -1
  229. wagtail/api/v2/tests/test_renderer_classes.py +32 -0
  230. wagtail/apps.py +2 -0
  231. wagtail/bin/wagtail.py +1 -1
  232. wagtail/contrib/forms/locale/af/LC_MESSAGES/django.po +1 -1
  233. wagtail/contrib/forms/locale/ar/LC_MESSAGES/django.po +1 -1
  234. wagtail/contrib/forms/locale/az_AZ/LC_MESSAGES/django.po +1 -1
  235. wagtail/contrib/forms/locale/be/LC_MESSAGES/django.po +1 -1
  236. wagtail/contrib/forms/locale/bg/LC_MESSAGES/django.po +1 -1
  237. wagtail/contrib/forms/locale/bn/LC_MESSAGES/django.po +1 -1
  238. wagtail/contrib/forms/locale/ca/LC_MESSAGES/django.po +1 -1
  239. wagtail/contrib/forms/locale/cs/LC_MESSAGES/django.po +1 -1
  240. wagtail/contrib/forms/locale/cy/LC_MESSAGES/django.po +1 -1
  241. wagtail/contrib/forms/locale/da/LC_MESSAGES/django.po +1 -1
  242. wagtail/contrib/forms/locale/de/LC_MESSAGES/django.po +1 -1
  243. wagtail/contrib/forms/locale/dv/LC_MESSAGES/django.po +1 -1
  244. wagtail/contrib/forms/locale/el/LC_MESSAGES/django.po +1 -1
  245. wagtail/contrib/forms/locale/en/LC_MESSAGES/django.po +14 -14
  246. wagtail/contrib/forms/locale/es/LC_MESSAGES/django.po +1 -1
  247. wagtail/contrib/forms/locale/es_419/LC_MESSAGES/django.po +1 -1
  248. wagtail/contrib/forms/locale/et/LC_MESSAGES/django.po +1 -1
  249. wagtail/contrib/forms/locale/eu/LC_MESSAGES/django.po +1 -1
  250. wagtail/contrib/forms/locale/fa/LC_MESSAGES/django.po +1 -1
  251. wagtail/contrib/forms/locale/fi/LC_MESSAGES/django.po +1 -1
  252. wagtail/contrib/forms/locale/fr/LC_MESSAGES/django.po +1 -1
  253. wagtail/contrib/forms/locale/gl/LC_MESSAGES/django.po +1 -1
  254. wagtail/contrib/forms/locale/he_IL/LC_MESSAGES/django.po +1 -1
  255. wagtail/contrib/forms/locale/hr_HR/LC_MESSAGES/django.po +1 -1
  256. wagtail/contrib/forms/locale/ht/LC_MESSAGES/django.po +1 -1
  257. wagtail/contrib/forms/locale/hu/LC_MESSAGES/django.po +1 -1
  258. wagtail/contrib/forms/locale/hy/LC_MESSAGES/django.po +1 -1
  259. wagtail/contrib/forms/locale/id_ID/LC_MESSAGES/django.po +1 -1
  260. wagtail/contrib/forms/locale/is_IS/LC_MESSAGES/django.po +1 -1
  261. wagtail/contrib/forms/locale/it/LC_MESSAGES/django.po +1 -1
  262. wagtail/contrib/forms/locale/ja/LC_MESSAGES/django.po +1 -1
  263. wagtail/contrib/forms/locale/ka/LC_MESSAGES/django.po +1 -1
  264. wagtail/contrib/forms/locale/ko/LC_MESSAGES/django.po +1 -1
  265. wagtail/contrib/forms/locale/lt/LC_MESSAGES/django.po +1 -1
  266. wagtail/contrib/forms/locale/lv/LC_MESSAGES/django.po +1 -1
  267. wagtail/contrib/forms/locale/mi/LC_MESSAGES/django.po +1 -1
  268. wagtail/contrib/forms/locale/mn/LC_MESSAGES/django.po +1 -1
  269. wagtail/contrib/forms/locale/my/LC_MESSAGES/django.po +1 -1
  270. wagtail/contrib/forms/locale/nb/LC_MESSAGES/django.po +1 -1
  271. wagtail/contrib/forms/locale/nl/LC_MESSAGES/django.mo +0 -0
  272. wagtail/contrib/forms/locale/nl/LC_MESSAGES/django.po +20 -3
  273. wagtail/contrib/forms/locale/pl/LC_MESSAGES/django.po +1 -1
  274. wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  275. wagtail/contrib/forms/locale/pt_PT/LC_MESSAGES/django.po +1 -1
  276. wagtail/contrib/forms/locale/ro/LC_MESSAGES/django.po +1 -1
  277. wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.mo +0 -0
  278. wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.po +19 -2
  279. wagtail/contrib/forms/locale/sk_SK/LC_MESSAGES/django.po +1 -1
  280. wagtail/contrib/forms/locale/sl/LC_MESSAGES/django.po +1 -1
  281. wagtail/contrib/forms/locale/sv/LC_MESSAGES/django.po +1 -1
  282. wagtail/contrib/forms/locale/tet/LC_MESSAGES/django.po +1 -1
  283. wagtail/contrib/forms/locale/th/LC_MESSAGES/django.po +1 -1
  284. wagtail/contrib/forms/locale/tr/LC_MESSAGES/django.mo +0 -0
  285. wagtail/contrib/forms/locale/tr/LC_MESSAGES/django.po +12 -2
  286. wagtail/contrib/forms/locale/tr_TR/LC_MESSAGES/django.po +1 -1
  287. wagtail/contrib/forms/locale/ug/LC_MESSAGES/django.po +1 -1
  288. wagtail/contrib/forms/locale/uk/LC_MESSAGES/django.po +1 -1
  289. wagtail/contrib/forms/locale/vi/LC_MESSAGES/django.po +1 -1
  290. wagtail/contrib/forms/locale/zh/LC_MESSAGES/django.po +1 -1
  291. wagtail/contrib/forms/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
  292. wagtail/contrib/forms/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
  293. wagtail/contrib/frontend_cache/tests.py +4 -2
  294. wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.mo +0 -0
  295. wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.po +1 -13
  296. wagtail/contrib/redirects/locale/be/LC_MESSAGES/django.po +1 -1
  297. wagtail/contrib/redirects/locale/bg/LC_MESSAGES/django.po +1 -1
  298. wagtail/contrib/redirects/locale/bn/LC_MESSAGES/django.po +1 -1
  299. wagtail/contrib/redirects/locale/ca/LC_MESSAGES/django.mo +0 -0
  300. wagtail/contrib/redirects/locale/ca/LC_MESSAGES/django.po +9 -10
  301. wagtail/contrib/redirects/locale/cs/LC_MESSAGES/django.mo +0 -0
  302. wagtail/contrib/redirects/locale/cs/LC_MESSAGES/django.po +1 -13
  303. wagtail/contrib/redirects/locale/cy/LC_MESSAGES/django.mo +0 -0
  304. wagtail/contrib/redirects/locale/cy/LC_MESSAGES/django.po +1 -13
  305. wagtail/contrib/redirects/locale/da/LC_MESSAGES/django.po +1 -1
  306. wagtail/contrib/redirects/locale/de/LC_MESSAGES/django.mo +0 -0
  307. wagtail/contrib/redirects/locale/de/LC_MESSAGES/django.po +1 -13
  308. wagtail/contrib/redirects/locale/dv/LC_MESSAGES/django.po +1 -1
  309. wagtail/contrib/redirects/locale/el/LC_MESSAGES/django.po +1 -1
  310. wagtail/contrib/redirects/locale/en/LC_MESSAGES/django.po +4 -4
  311. wagtail/contrib/redirects/locale/en_IN/LC_MESSAGES/django.po +1 -1
  312. wagtail/contrib/redirects/locale/es/LC_MESSAGES/django.mo +0 -0
  313. wagtail/contrib/redirects/locale/es/LC_MESSAGES/django.po +1 -14
  314. wagtail/contrib/redirects/locale/es_419/LC_MESSAGES/django.po +1 -1
  315. wagtail/contrib/redirects/locale/es_VE/LC_MESSAGES/django.po +1 -1
  316. wagtail/contrib/redirects/locale/et/LC_MESSAGES/django.mo +0 -0
  317. wagtail/contrib/redirects/locale/et/LC_MESSAGES/django.po +1 -13
  318. wagtail/contrib/redirects/locale/eu/LC_MESSAGES/django.po +1 -1
  319. wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.po +1 -1
  320. wagtail/contrib/redirects/locale/fi/LC_MESSAGES/django.mo +0 -0
  321. wagtail/contrib/redirects/locale/fi/LC_MESSAGES/django.po +7 -11
  322. wagtail/contrib/redirects/locale/fr/LC_MESSAGES/django.mo +0 -0
  323. wagtail/contrib/redirects/locale/fr/LC_MESSAGES/django.po +9 -8
  324. wagtail/contrib/redirects/locale/gl/LC_MESSAGES/django.mo +0 -0
  325. wagtail/contrib/redirects/locale/gl/LC_MESSAGES/django.po +9 -9
  326. wagtail/contrib/redirects/locale/he_IL/LC_MESSAGES/django.po +1 -1
  327. wagtail/contrib/redirects/locale/hi/LC_MESSAGES/django.po +1 -1
  328. wagtail/contrib/redirects/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
  329. wagtail/contrib/redirects/locale/hr_HR/LC_MESSAGES/django.po +1 -13
  330. wagtail/contrib/redirects/locale/ht/LC_MESSAGES/django.po +1 -1
  331. wagtail/contrib/redirects/locale/hu/LC_MESSAGES/django.mo +0 -0
  332. wagtail/contrib/redirects/locale/hu/LC_MESSAGES/django.po +1 -13
  333. wagtail/contrib/redirects/locale/hy/LC_MESSAGES/django.po +1 -1
  334. wagtail/contrib/redirects/locale/id_ID/LC_MESSAGES/django.po +1 -1
  335. wagtail/contrib/redirects/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  336. wagtail/contrib/redirects/locale/is_IS/LC_MESSAGES/django.po +1 -13
  337. wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.mo +0 -0
  338. wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.po +1 -14
  339. wagtail/contrib/redirects/locale/ja/LC_MESSAGES/django.mo +0 -0
  340. wagtail/contrib/redirects/locale/ja/LC_MESSAGES/django.po +1 -13
  341. wagtail/contrib/redirects/locale/ka/LC_MESSAGES/django.po +1 -1
  342. wagtail/contrib/redirects/locale/ko/LC_MESSAGES/django.po +1 -1
  343. wagtail/contrib/redirects/locale/lt/LC_MESSAGES/django.po +1 -1
  344. wagtail/contrib/redirects/locale/lv/LC_MESSAGES/django.po +1 -1
  345. wagtail/contrib/redirects/locale/mi/LC_MESSAGES/django.po +1 -1
  346. wagtail/contrib/redirects/locale/mn/LC_MESSAGES/django.po +1 -1
  347. wagtail/contrib/redirects/locale/my/LC_MESSAGES/django.po +1 -1
  348. wagtail/contrib/redirects/locale/nb/LC_MESSAGES/django.mo +0 -0
  349. wagtail/contrib/redirects/locale/nb/LC_MESSAGES/django.po +1 -13
  350. wagtail/contrib/redirects/locale/nl/LC_MESSAGES/django.mo +0 -0
  351. wagtail/contrib/redirects/locale/nl/LC_MESSAGES/django.po +9 -9
  352. wagtail/contrib/redirects/locale/pl/LC_MESSAGES/django.mo +0 -0
  353. wagtail/contrib/redirects/locale/pl/LC_MESSAGES/django.po +1 -14
  354. wagtail/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  355. wagtail/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po +1 -13
  356. wagtail/contrib/redirects/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  357. wagtail/contrib/redirects/locale/pt_PT/LC_MESSAGES/django.po +1 -13
  358. wagtail/contrib/redirects/locale/ro/LC_MESSAGES/django.mo +0 -0
  359. wagtail/contrib/redirects/locale/ro/LC_MESSAGES/django.po +1 -13
  360. wagtail/contrib/redirects/locale/ru/LC_MESSAGES/django.mo +0 -0
  361. wagtail/contrib/redirects/locale/ru/LC_MESSAGES/django.po +1 -13
  362. wagtail/contrib/redirects/locale/sk_SK/LC_MESSAGES/django.po +1 -1
  363. wagtail/contrib/redirects/locale/sl/LC_MESSAGES/django.mo +0 -0
  364. wagtail/contrib/redirects/locale/sl/LC_MESSAGES/django.po +1 -14
  365. wagtail/contrib/redirects/locale/sr/LC_MESSAGES/django.po +1 -1
  366. wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.mo +0 -0
  367. wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.po +1 -13
  368. wagtail/contrib/redirects/locale/ta/LC_MESSAGES/django.po +1 -1
  369. wagtail/contrib/redirects/locale/tet/LC_MESSAGES/django.po +1 -1
  370. wagtail/contrib/redirects/locale/th/LC_MESSAGES/django.po +1 -1
  371. wagtail/contrib/redirects/locale/tr/LC_MESSAGES/django.mo +0 -0
  372. wagtail/contrib/redirects/locale/tr/LC_MESSAGES/django.po +1 -13
  373. wagtail/contrib/redirects/locale/tr_TR/LC_MESSAGES/django.po +1 -1
  374. wagtail/contrib/redirects/locale/ug/LC_MESSAGES/django.mo +0 -0
  375. wagtail/contrib/redirects/locale/ug/LC_MESSAGES/django.po +1 -13
  376. wagtail/contrib/redirects/locale/uk/LC_MESSAGES/django.mo +0 -0
  377. wagtail/contrib/redirects/locale/uk/LC_MESSAGES/django.po +1 -13
  378. wagtail/contrib/redirects/locale/vi/LC_MESSAGES/django.po +1 -1
  379. wagtail/contrib/redirects/locale/zh/LC_MESSAGES/django.po +1 -1
  380. wagtail/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  381. wagtail/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po +1 -13
  382. wagtail/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
  383. wagtail/contrib/redirects/tests/test_tmp_storages.py +20 -0
  384. wagtail/contrib/redirects/tmp_storages.py +1 -1
  385. wagtail/contrib/redirects/views.py +3 -3
  386. wagtail/contrib/search_promotions/locale/af/LC_MESSAGES/django.po +1 -1
  387. wagtail/contrib/search_promotions/locale/ar/LC_MESSAGES/django.mo +0 -0
  388. wagtail/contrib/search_promotions/locale/ar/LC_MESSAGES/django.po +1 -7
  389. wagtail/contrib/search_promotions/locale/az_AZ/LC_MESSAGES/django.po +1 -1
  390. wagtail/contrib/search_promotions/locale/be/LC_MESSAGES/django.mo +0 -0
  391. wagtail/contrib/search_promotions/locale/be/LC_MESSAGES/django.po +1 -7
  392. wagtail/contrib/search_promotions/locale/bg/LC_MESSAGES/django.po +1 -1
  393. wagtail/contrib/search_promotions/locale/bn/LC_MESSAGES/django.po +1 -1
  394. wagtail/contrib/search_promotions/locale/ca/LC_MESSAGES/django.mo +0 -0
  395. wagtail/contrib/search_promotions/locale/ca/LC_MESSAGES/django.po +5 -5
  396. wagtail/contrib/search_promotions/locale/cs/LC_MESSAGES/django.mo +0 -0
  397. wagtail/contrib/search_promotions/locale/cs/LC_MESSAGES/django.po +1 -7
  398. wagtail/contrib/search_promotions/locale/cy/LC_MESSAGES/django.mo +0 -0
  399. wagtail/contrib/search_promotions/locale/cy/LC_MESSAGES/django.po +1 -7
  400. wagtail/contrib/search_promotions/locale/da/LC_MESSAGES/django.po +1 -1
  401. wagtail/contrib/search_promotions/locale/de/LC_MESSAGES/django.mo +0 -0
  402. wagtail/contrib/search_promotions/locale/de/LC_MESSAGES/django.po +1 -7
  403. wagtail/contrib/search_promotions/locale/dv/LC_MESSAGES/django.po +1 -1
  404. wagtail/contrib/search_promotions/locale/el/LC_MESSAGES/django.mo +0 -0
  405. wagtail/contrib/search_promotions/locale/el/LC_MESSAGES/django.po +1 -7
  406. wagtail/contrib/search_promotions/locale/en/LC_MESSAGES/django.po +3 -3
  407. wagtail/contrib/search_promotions/locale/es/LC_MESSAGES/django.mo +0 -0
  408. wagtail/contrib/search_promotions/locale/es/LC_MESSAGES/django.po +1 -7
  409. wagtail/contrib/search_promotions/locale/es_419/LC_MESSAGES/django.po +1 -1
  410. wagtail/contrib/search_promotions/locale/et/LC_MESSAGES/django.mo +0 -0
  411. wagtail/contrib/search_promotions/locale/et/LC_MESSAGES/django.po +1 -7
  412. wagtail/contrib/search_promotions/locale/eu/LC_MESSAGES/django.po +1 -1
  413. wagtail/contrib/search_promotions/locale/fa/LC_MESSAGES/django.mo +0 -0
  414. wagtail/contrib/search_promotions/locale/fa/LC_MESSAGES/django.po +1 -7
  415. wagtail/contrib/search_promotions/locale/fi/LC_MESSAGES/django.mo +0 -0
  416. wagtail/contrib/search_promotions/locale/fi/LC_MESSAGES/django.po +1 -7
  417. wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.mo +0 -0
  418. wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.po +5 -5
  419. wagtail/contrib/search_promotions/locale/gl/LC_MESSAGES/django.mo +0 -0
  420. wagtail/contrib/search_promotions/locale/gl/LC_MESSAGES/django.po +5 -5
  421. wagtail/contrib/search_promotions/locale/he_IL/LC_MESSAGES/django.mo +0 -0
  422. wagtail/contrib/search_promotions/locale/he_IL/LC_MESSAGES/django.po +1 -7
  423. wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
  424. wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.po +1 -7
  425. wagtail/contrib/search_promotions/locale/ht/LC_MESSAGES/django.po +1 -1
  426. wagtail/contrib/search_promotions/locale/hu/LC_MESSAGES/django.mo +0 -0
  427. wagtail/contrib/search_promotions/locale/hu/LC_MESSAGES/django.po +1 -7
  428. wagtail/contrib/search_promotions/locale/id_ID/LC_MESSAGES/django.mo +0 -0
  429. wagtail/contrib/search_promotions/locale/id_ID/LC_MESSAGES/django.po +1 -7
  430. wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  431. wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.po +1 -7
  432. wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.mo +0 -0
  433. wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.po +1 -7
  434. wagtail/contrib/search_promotions/locale/ja/LC_MESSAGES/django.mo +0 -0
  435. wagtail/contrib/search_promotions/locale/ja/LC_MESSAGES/django.po +1 -7
  436. wagtail/contrib/search_promotions/locale/ka/LC_MESSAGES/django.po +1 -1
  437. wagtail/contrib/search_promotions/locale/ko/LC_MESSAGES/django.mo +0 -0
  438. wagtail/contrib/search_promotions/locale/ko/LC_MESSAGES/django.po +1 -7
  439. wagtail/contrib/search_promotions/locale/lt/LC_MESSAGES/django.mo +0 -0
  440. wagtail/contrib/search_promotions/locale/lt/LC_MESSAGES/django.po +1 -7
  441. wagtail/contrib/search_promotions/locale/lv/LC_MESSAGES/django.mo +0 -0
  442. wagtail/contrib/search_promotions/locale/lv/LC_MESSAGES/django.po +1 -7
  443. wagtail/contrib/search_promotions/locale/mi/LC_MESSAGES/django.po +1 -1
  444. wagtail/contrib/search_promotions/locale/mn/LC_MESSAGES/django.po +1 -1
  445. wagtail/contrib/search_promotions/locale/my/LC_MESSAGES/django.po +1 -1
  446. wagtail/contrib/search_promotions/locale/nb/LC_MESSAGES/django.mo +0 -0
  447. wagtail/contrib/search_promotions/locale/nb/LC_MESSAGES/django.po +1 -7
  448. wagtail/contrib/search_promotions/locale/nl/LC_MESSAGES/django.mo +0 -0
  449. wagtail/contrib/search_promotions/locale/nl/LC_MESSAGES/django.po +4 -4
  450. wagtail/contrib/search_promotions/locale/pl/LC_MESSAGES/django.mo +0 -0
  451. wagtail/contrib/search_promotions/locale/pl/LC_MESSAGES/django.po +1 -7
  452. wagtail/contrib/search_promotions/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  453. wagtail/contrib/search_promotions/locale/pt_BR/LC_MESSAGES/django.po +1 -7
  454. wagtail/contrib/search_promotions/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  455. wagtail/contrib/search_promotions/locale/pt_PT/LC_MESSAGES/django.po +1 -7
  456. wagtail/contrib/search_promotions/locale/ro/LC_MESSAGES/django.mo +0 -0
  457. wagtail/contrib/search_promotions/locale/ro/LC_MESSAGES/django.po +1 -7
  458. wagtail/contrib/search_promotions/locale/ru/LC_MESSAGES/django.mo +0 -0
  459. wagtail/contrib/search_promotions/locale/ru/LC_MESSAGES/django.po +1 -7
  460. wagtail/contrib/search_promotions/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  461. wagtail/contrib/search_promotions/locale/sk_SK/LC_MESSAGES/django.po +1 -7
  462. wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.mo +0 -0
  463. wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.po +1 -7
  464. wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.mo +0 -0
  465. wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.po +1 -7
  466. wagtail/contrib/search_promotions/locale/tet/LC_MESSAGES/django.mo +0 -0
  467. wagtail/contrib/search_promotions/locale/tet/LC_MESSAGES/django.po +1 -7
  468. wagtail/contrib/search_promotions/locale/th/LC_MESSAGES/django.mo +0 -0
  469. wagtail/contrib/search_promotions/locale/th/LC_MESSAGES/django.po +1 -7
  470. wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.mo +0 -0
  471. wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.po +44 -10
  472. wagtail/contrib/search_promotions/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  473. wagtail/contrib/search_promotions/locale/tr_TR/LC_MESSAGES/django.po +1 -7
  474. wagtail/contrib/search_promotions/locale/ug/LC_MESSAGES/django.mo +0 -0
  475. wagtail/contrib/search_promotions/locale/ug/LC_MESSAGES/django.po +1 -7
  476. wagtail/contrib/search_promotions/locale/uk/LC_MESSAGES/django.mo +0 -0
  477. wagtail/contrib/search_promotions/locale/uk/LC_MESSAGES/django.po +1 -7
  478. wagtail/contrib/search_promotions/locale/vi/LC_MESSAGES/django.po +1 -1
  479. wagtail/contrib/search_promotions/locale/zh/LC_MESSAGES/django.po +1 -1
  480. wagtail/contrib/search_promotions/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  481. wagtail/contrib/search_promotions/locale/zh_Hans/LC_MESSAGES/django.po +1 -7
  482. wagtail/contrib/search_promotions/locale/zh_Hant/LC_MESSAGES/django.mo +0 -0
  483. wagtail/contrib/search_promotions/locale/zh_Hant/LC_MESSAGES/django.po +1 -7
  484. wagtail/contrib/search_promotions/static/wagtailsearchpromotions/js/query-chooser-modal.js +1 -1
  485. wagtail/contrib/search_promotions/views/settings.py +2 -2
  486. wagtail/contrib/settings/locale/cs/LC_MESSAGES/django.mo +0 -0
  487. wagtail/contrib/settings/locale/cs/LC_MESSAGES/django.po +6 -1
  488. wagtail/contrib/settings/locale/en/LC_MESSAGES/django.po +1 -1
  489. wagtail/contrib/settings/locale/nl/LC_MESSAGES/django.mo +0 -0
  490. wagtail/contrib/settings/locale/nl/LC_MESSAGES/django.po +6 -2
  491. wagtail/contrib/settings/locale/ru/LC_MESSAGES/django.mo +0 -0
  492. wagtail/contrib/settings/locale/ru/LC_MESSAGES/django.po +6 -1
  493. wagtail/contrib/settings/tests/site_specific/test_admin.py +48 -6
  494. wagtail/contrib/simple_translation/locale/en/LC_MESSAGES/django.po +1 -1
  495. wagtail/contrib/styleguide/locale/en/LC_MESSAGES/django.po +1 -1
  496. wagtail/contrib/styleguide/templates/wagtailstyleguide/base.html +5 -5
  497. wagtail/contrib/table_block/blocks.py +1 -0
  498. wagtail/contrib/table_block/locale/ar/LC_MESSAGES/django.po +1 -1
  499. wagtail/contrib/table_block/locale/be/LC_MESSAGES/django.po +1 -1
  500. wagtail/contrib/table_block/locale/ca/LC_MESSAGES/django.mo +0 -0
  501. wagtail/contrib/table_block/locale/ca/LC_MESSAGES/django.po +6 -3
  502. wagtail/contrib/table_block/locale/cs/LC_MESSAGES/django.po +1 -1
  503. wagtail/contrib/table_block/locale/cy/LC_MESSAGES/django.po +1 -1
  504. wagtail/contrib/table_block/locale/de/LC_MESSAGES/django.po +1 -1
  505. wagtail/contrib/table_block/locale/dv/LC_MESSAGES/django.po +1 -1
  506. wagtail/contrib/table_block/locale/el/LC_MESSAGES/django.po +1 -1
  507. wagtail/contrib/table_block/locale/en/LC_MESSAGES/django.po +5 -1
  508. wagtail/contrib/table_block/locale/en_IN/LC_MESSAGES/django.po +1 -1
  509. wagtail/contrib/table_block/locale/es/LC_MESSAGES/django.po +1 -1
  510. wagtail/contrib/table_block/locale/et/LC_MESSAGES/django.po +1 -1
  511. wagtail/contrib/table_block/locale/fa/LC_MESSAGES/django.po +1 -1
  512. wagtail/contrib/table_block/locale/fi/LC_MESSAGES/django.po +1 -1
  513. wagtail/contrib/table_block/locale/fr/LC_MESSAGES/django.mo +0 -0
  514. wagtail/contrib/table_block/locale/fr/LC_MESSAGES/django.po +6 -3
  515. wagtail/contrib/table_block/locale/gl/LC_MESSAGES/django.mo +0 -0
  516. wagtail/contrib/table_block/locale/gl/LC_MESSAGES/django.po +6 -3
  517. wagtail/contrib/table_block/locale/hr_HR/LC_MESSAGES/django.po +1 -1
  518. wagtail/contrib/table_block/locale/ht/LC_MESSAGES/django.po +1 -1
  519. wagtail/contrib/table_block/locale/hu/LC_MESSAGES/django.po +1 -1
  520. wagtail/contrib/table_block/locale/id_ID/LC_MESSAGES/django.po +1 -1
  521. wagtail/contrib/table_block/locale/is_IS/LC_MESSAGES/django.po +1 -1
  522. wagtail/contrib/table_block/locale/it/LC_MESSAGES/django.po +1 -1
  523. wagtail/contrib/table_block/locale/ja/LC_MESSAGES/django.po +1 -1
  524. wagtail/contrib/table_block/locale/ko/LC_MESSAGES/django.po +1 -1
  525. wagtail/contrib/table_block/locale/lt/LC_MESSAGES/django.po +1 -1
  526. wagtail/contrib/table_block/locale/lv/LC_MESSAGES/django.po +1 -1
  527. wagtail/contrib/table_block/locale/mi/LC_MESSAGES/django.po +1 -1
  528. wagtail/contrib/table_block/locale/mn/LC_MESSAGES/django.po +1 -1
  529. wagtail/contrib/table_block/locale/my/LC_MESSAGES/django.po +1 -1
  530. wagtail/contrib/table_block/locale/nb/LC_MESSAGES/django.po +1 -1
  531. wagtail/contrib/table_block/locale/nl/LC_MESSAGES/django.mo +0 -0
  532. wagtail/contrib/table_block/locale/nl/LC_MESSAGES/django.po +6 -3
  533. wagtail/contrib/table_block/locale/pl/LC_MESSAGES/django.po +1 -1
  534. wagtail/contrib/table_block/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  535. wagtail/contrib/table_block/locale/pt_PT/LC_MESSAGES/django.po +1 -1
  536. wagtail/contrib/table_block/locale/ro/LC_MESSAGES/django.po +1 -1
  537. wagtail/contrib/table_block/locale/ru/LC_MESSAGES/django.po +1 -1
  538. wagtail/contrib/table_block/locale/sk_SK/LC_MESSAGES/django.po +1 -1
  539. wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.po +1 -1
  540. wagtail/contrib/table_block/locale/sv/LC_MESSAGES/django.po +1 -1
  541. wagtail/contrib/table_block/locale/tet/LC_MESSAGES/django.po +1 -1
  542. wagtail/contrib/table_block/locale/th/LC_MESSAGES/django.po +1 -1
  543. wagtail/contrib/table_block/locale/tr/LC_MESSAGES/django.po +1 -1
  544. wagtail/contrib/table_block/locale/tr_TR/LC_MESSAGES/django.po +1 -1
  545. wagtail/contrib/table_block/locale/ug/LC_MESSAGES/django.po +1 -1
  546. wagtail/contrib/table_block/locale/uk/LC_MESSAGES/django.po +1 -1
  547. wagtail/contrib/table_block/locale/vi/LC_MESSAGES/django.po +1 -1
  548. wagtail/contrib/table_block/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
  549. wagtail/contrib/table_block/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
  550. wagtail/contrib/table_block/static/table_block/js/table.js +1 -1
  551. wagtail/contrib/typed_table_block/locale/en/LC_MESSAGES/django.po +1 -1
  552. wagtail/contrib/typed_table_block/static/typed_table_block/js/typed_table_block.js +1 -1
  553. wagtail/coreutils.py +5 -5
  554. wagtail/documents/forms.py +18 -1
  555. wagtail/documents/locale/af/LC_MESSAGES/django.po +1 -1
  556. wagtail/documents/locale/ar/LC_MESSAGES/django.mo +0 -0
  557. wagtail/documents/locale/ar/LC_MESSAGES/django.po +1 -5
  558. wagtail/documents/locale/az_AZ/LC_MESSAGES/django.po +1 -1
  559. wagtail/documents/locale/be/LC_MESSAGES/django.mo +0 -0
  560. wagtail/documents/locale/be/LC_MESSAGES/django.po +1 -5
  561. wagtail/documents/locale/bg/LC_MESSAGES/django.po +1 -1
  562. wagtail/documents/locale/bn/LC_MESSAGES/django.po +1 -1
  563. wagtail/documents/locale/ca/LC_MESSAGES/django.mo +0 -0
  564. wagtail/documents/locale/ca/LC_MESSAGES/django.po +5 -5
  565. wagtail/documents/locale/cs/LC_MESSAGES/django.mo +0 -0
  566. wagtail/documents/locale/cs/LC_MESSAGES/django.po +1 -7
  567. wagtail/documents/locale/cy/LC_MESSAGES/django.po +1 -1
  568. wagtail/documents/locale/da/LC_MESSAGES/django.po +1 -1
  569. wagtail/documents/locale/de/LC_MESSAGES/django.mo +0 -0
  570. wagtail/documents/locale/de/LC_MESSAGES/django.po +1 -7
  571. wagtail/documents/locale/dv/LC_MESSAGES/django.po +1 -1
  572. wagtail/documents/locale/el/LC_MESSAGES/django.mo +0 -0
  573. wagtail/documents/locale/el/LC_MESSAGES/django.po +1 -7
  574. wagtail/documents/locale/en/LC_MESSAGES/django.po +10 -10
  575. wagtail/documents/locale/es/LC_MESSAGES/django.mo +0 -0
  576. wagtail/documents/locale/es/LC_MESSAGES/django.po +1 -7
  577. wagtail/documents/locale/es_419/LC_MESSAGES/django.po +1 -1
  578. wagtail/documents/locale/et/LC_MESSAGES/django.mo +0 -0
  579. wagtail/documents/locale/et/LC_MESSAGES/django.po +1 -5
  580. wagtail/documents/locale/eu/LC_MESSAGES/django.po +1 -1
  581. wagtail/documents/locale/fa/LC_MESSAGES/django.mo +0 -0
  582. wagtail/documents/locale/fa/LC_MESSAGES/django.po +1 -5
  583. wagtail/documents/locale/fi/LC_MESSAGES/django.mo +0 -0
  584. wagtail/documents/locale/fi/LC_MESSAGES/django.po +1 -5
  585. wagtail/documents/locale/fr/LC_MESSAGES/django.mo +0 -0
  586. wagtail/documents/locale/fr/LC_MESSAGES/django.po +5 -5
  587. wagtail/documents/locale/gl/LC_MESSAGES/django.mo +0 -0
  588. wagtail/documents/locale/gl/LC_MESSAGES/django.po +5 -5
  589. wagtail/documents/locale/he_IL/LC_MESSAGES/django.mo +0 -0
  590. wagtail/documents/locale/he_IL/LC_MESSAGES/django.po +1 -5
  591. wagtail/documents/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
  592. wagtail/documents/locale/hr_HR/LC_MESSAGES/django.po +1 -6
  593. wagtail/documents/locale/ht/LC_MESSAGES/django.po +1 -1
  594. wagtail/documents/locale/hu/LC_MESSAGES/django.mo +0 -0
  595. wagtail/documents/locale/hu/LC_MESSAGES/django.po +1 -7
  596. wagtail/documents/locale/id_ID/LC_MESSAGES/django.mo +0 -0
  597. wagtail/documents/locale/id_ID/LC_MESSAGES/django.po +1 -6
  598. wagtail/documents/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  599. wagtail/documents/locale/is_IS/LC_MESSAGES/django.po +1 -5
  600. wagtail/documents/locale/it/LC_MESSAGES/django.mo +0 -0
  601. wagtail/documents/locale/it/LC_MESSAGES/django.po +1 -5
  602. wagtail/documents/locale/ja/LC_MESSAGES/django.mo +0 -0
  603. wagtail/documents/locale/ja/LC_MESSAGES/django.po +1 -7
  604. wagtail/documents/locale/ka/LC_MESSAGES/django.po +1 -1
  605. wagtail/documents/locale/ko/LC_MESSAGES/django.mo +0 -0
  606. wagtail/documents/locale/ko/LC_MESSAGES/django.po +1 -6
  607. wagtail/documents/locale/lt/LC_MESSAGES/django.mo +0 -0
  608. wagtail/documents/locale/lt/LC_MESSAGES/django.po +1 -5
  609. wagtail/documents/locale/lv/LC_MESSAGES/django.po +1 -1
  610. wagtail/documents/locale/mi/LC_MESSAGES/django.mo +0 -0
  611. wagtail/documents/locale/mi/LC_MESSAGES/django.po +1 -7
  612. wagtail/documents/locale/mn/LC_MESSAGES/django.mo +0 -0
  613. wagtail/documents/locale/mn/LC_MESSAGES/django.po +1 -5
  614. wagtail/documents/locale/my/LC_MESSAGES/django.po +1 -1
  615. wagtail/documents/locale/nb/LC_MESSAGES/django.mo +0 -0
  616. wagtail/documents/locale/nb/LC_MESSAGES/django.po +1 -5
  617. wagtail/documents/locale/nl/LC_MESSAGES/django.mo +0 -0
  618. wagtail/documents/locale/nl/LC_MESSAGES/django.po +15 -6
  619. wagtail/documents/locale/pl/LC_MESSAGES/django.mo +0 -0
  620. wagtail/documents/locale/pl/LC_MESSAGES/django.po +1 -6
  621. wagtail/documents/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  622. wagtail/documents/locale/pt_BR/LC_MESSAGES/django.po +1 -7
  623. wagtail/documents/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  624. wagtail/documents/locale/pt_PT/LC_MESSAGES/django.po +1 -6
  625. wagtail/documents/locale/ro/LC_MESSAGES/django.mo +0 -0
  626. wagtail/documents/locale/ro/LC_MESSAGES/django.po +1 -5
  627. wagtail/documents/locale/ru/LC_MESSAGES/django.mo +0 -0
  628. wagtail/documents/locale/ru/LC_MESSAGES/django.po +10 -7
  629. wagtail/documents/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  630. wagtail/documents/locale/sk_SK/LC_MESSAGES/django.po +1 -5
  631. wagtail/documents/locale/sl/LC_MESSAGES/django.mo +0 -0
  632. wagtail/documents/locale/sl/LC_MESSAGES/django.po +1 -7
  633. wagtail/documents/locale/sv/LC_MESSAGES/django.mo +0 -0
  634. wagtail/documents/locale/sv/LC_MESSAGES/django.po +1 -6
  635. wagtail/documents/locale/tet/LC_MESSAGES/django.po +1 -1
  636. wagtail/documents/locale/th/LC_MESSAGES/django.mo +0 -0
  637. wagtail/documents/locale/th/LC_MESSAGES/django.po +1 -5
  638. wagtail/documents/locale/tr/LC_MESSAGES/django.mo +0 -0
  639. wagtail/documents/locale/tr/LC_MESSAGES/django.po +13 -5
  640. wagtail/documents/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  641. wagtail/documents/locale/tr_TR/LC_MESSAGES/django.po +1 -5
  642. wagtail/documents/locale/ug/LC_MESSAGES/django.mo +0 -0
  643. wagtail/documents/locale/ug/LC_MESSAGES/django.po +1 -5
  644. wagtail/documents/locale/uk/LC_MESSAGES/django.mo +0 -0
  645. wagtail/documents/locale/uk/LC_MESSAGES/django.po +1 -5
  646. wagtail/documents/locale/vi/LC_MESSAGES/django.po +1 -1
  647. wagtail/documents/locale/zh/LC_MESSAGES/django.po +1 -1
  648. wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  649. wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.po +1 -5
  650. wagtail/documents/locale/zh_Hant/LC_MESSAGES/django.mo +0 -0
  651. wagtail/documents/locale/zh_Hant/LC_MESSAGES/django.po +1 -5
  652. wagtail/documents/models.py +1 -1
  653. wagtail/documents/static/wagtaildocs/js/add-multiple.js +1 -1
  654. wagtail/documents/static/wagtaildocs/js/document-chooser-modal.js +1 -1
  655. wagtail/documents/static/wagtaildocs/js/document-chooser-telepath.js +1 -1
  656. wagtail/documents/static/wagtaildocs/js/document-chooser.js +1 -1
  657. wagtail/documents/templates/wagtaildocs/documents/add.html +0 -34
  658. wagtail/documents/tests/test_admin_views.py +132 -26
  659. wagtail/documents/tests/test_collection_privacy.py +18 -4
  660. wagtail/documents/tests/test_form_overrides.py +1 -1
  661. wagtail/documents/tests/test_search.py +21 -8
  662. wagtail/documents/views/documents.py +1 -1
  663. wagtail/embeds/locale/en/LC_MESSAGES/django.po +1 -1
  664. wagtail/embeds/static/wagtailembeds/js/embed-chooser-modal.js +1 -1
  665. wagtail/images/forms.py +16 -1
  666. wagtail/images/locale/ar/LC_MESSAGES/django.mo +0 -0
  667. wagtail/images/locale/ar/LC_MESSAGES/django.po +7 -10
  668. wagtail/images/locale/az_AZ/LC_MESSAGES/django.po +1 -1
  669. wagtail/images/locale/be/LC_MESSAGES/django.po +7 -7
  670. wagtail/images/locale/bg/LC_MESSAGES/django.po +4 -4
  671. wagtail/images/locale/bn/LC_MESSAGES/django.po +1 -1
  672. wagtail/images/locale/ca/LC_MESSAGES/django.mo +0 -0
  673. wagtail/images/locale/ca/LC_MESSAGES/django.po +15 -9
  674. wagtail/images/locale/cs/LC_MESSAGES/django.mo +0 -0
  675. wagtail/images/locale/cs/LC_MESSAGES/django.po +19 -8
  676. wagtail/images/locale/cy/LC_MESSAGES/django.po +4 -4
  677. wagtail/images/locale/da/LC_MESSAGES/django.po +1 -1
  678. wagtail/images/locale/de/LC_MESSAGES/django.po +7 -7
  679. wagtail/images/locale/dv/LC_MESSAGES/django.po +7 -7
  680. wagtail/images/locale/el/LC_MESSAGES/django.po +7 -7
  681. wagtail/images/locale/en/LC_MESSAGES/django.po +57 -46
  682. wagtail/images/locale/es/LC_MESSAGES/django.po +7 -7
  683. wagtail/images/locale/es_419/LC_MESSAGES/django.po +1 -1
  684. wagtail/images/locale/et/LC_MESSAGES/django.po +7 -7
  685. wagtail/images/locale/eu/LC_MESSAGES/django.po +1 -1
  686. wagtail/images/locale/fa/LC_MESSAGES/django.po +4 -4
  687. wagtail/images/locale/fi/LC_MESSAGES/django.mo +0 -0
  688. wagtail/images/locale/fi/LC_MESSAGES/django.po +18 -9
  689. wagtail/images/locale/fr/LC_MESSAGES/django.mo +0 -0
  690. wagtail/images/locale/fr/LC_MESSAGES/django.po +15 -9
  691. wagtail/images/locale/gl/LC_MESSAGES/django.mo +0 -0
  692. wagtail/images/locale/gl/LC_MESSAGES/django.po +15 -9
  693. wagtail/images/locale/he_IL/LC_MESSAGES/django.po +4 -4
  694. wagtail/images/locale/hr_HR/LC_MESSAGES/django.po +7 -7
  695. wagtail/images/locale/ht/LC_MESSAGES/django.po +1 -1
  696. wagtail/images/locale/hu/LC_MESSAGES/django.mo +0 -0
  697. wagtail/images/locale/hu/LC_MESSAGES/django.po +7 -10
  698. wagtail/images/locale/id_ID/LC_MESSAGES/django.po +4 -4
  699. wagtail/images/locale/is_IS/LC_MESSAGES/django.po +7 -7
  700. wagtail/images/locale/it/LC_MESSAGES/django.po +7 -7
  701. wagtail/images/locale/ja/LC_MESSAGES/django.po +7 -7
  702. wagtail/images/locale/ka/LC_MESSAGES/django.po +4 -4
  703. wagtail/images/locale/ko/LC_MESSAGES/django.po +7 -7
  704. wagtail/images/locale/lt/LC_MESSAGES/django.po +7 -7
  705. wagtail/images/locale/lv/LC_MESSAGES/django.po +4 -4
  706. wagtail/images/locale/mi/LC_MESSAGES/django.po +7 -7
  707. wagtail/images/locale/mn/LC_MESSAGES/django.po +4 -4
  708. wagtail/images/locale/my/LC_MESSAGES/django.po +1 -1
  709. wagtail/images/locale/nb/LC_MESSAGES/django.po +7 -7
  710. wagtail/images/locale/nl/LC_MESSAGES/django.mo +0 -0
  711. wagtail/images/locale/nl/LC_MESSAGES/django.po +50 -21
  712. wagtail/images/locale/pl/LC_MESSAGES/django.po +7 -7
  713. wagtail/images/locale/pt_BR/LC_MESSAGES/django.po +7 -7
  714. wagtail/images/locale/pt_PT/LC_MESSAGES/django.po +7 -7
  715. wagtail/images/locale/ro/LC_MESSAGES/django.po +7 -7
  716. wagtail/images/locale/ru/LC_MESSAGES/django.mo +0 -0
  717. wagtail/images/locale/ru/LC_MESSAGES/django.po +24 -8
  718. wagtail/images/locale/sk_SK/LC_MESSAGES/django.po +4 -4
  719. wagtail/images/locale/sl/LC_MESSAGES/django.po +7 -7
  720. wagtail/images/locale/sv/LC_MESSAGES/django.po +7 -7
  721. wagtail/images/locale/tet/LC_MESSAGES/django.po +4 -4
  722. wagtail/images/locale/th/LC_MESSAGES/django.po +4 -4
  723. wagtail/images/locale/tr/LC_MESSAGES/django.mo +0 -0
  724. wagtail/images/locale/tr/LC_MESSAGES/django.po +85 -7
  725. wagtail/images/locale/tr_TR/LC_MESSAGES/django.po +4 -4
  726. wagtail/images/locale/ug/LC_MESSAGES/django.po +7 -7
  727. wagtail/images/locale/uk/LC_MESSAGES/django.po +7 -7
  728. wagtail/images/locale/vi/LC_MESSAGES/django.po +4 -4
  729. wagtail/images/locale/zh/LC_MESSAGES/django.po +4 -4
  730. wagtail/images/locale/zh_Hans/LC_MESSAGES/django.po +7 -7
  731. wagtail/images/locale/zh_Hant/LC_MESSAGES/django.po +7 -7
  732. wagtail/images/models.py +1 -1
  733. wagtail/images/static/wagtailimages/js/add-multiple.js +1 -1
  734. wagtail/images/static/wagtailimages/js/focal-point-chooser.js +1 -1
  735. wagtail/images/static/wagtailimages/js/image-block.js +1 -1
  736. wagtail/images/static/wagtailimages/js/image-chooser-modal.js +1 -1
  737. wagtail/images/static/wagtailimages/js/image-chooser-telepath.js +1 -1
  738. wagtail/images/static/wagtailimages/js/image-chooser.js +1 -1
  739. wagtail/images/static/wagtailimages/js/image-url-generator.js +1 -1
  740. wagtail/images/static/wagtailimages/js/vendor/jquery.Jcrop.min.js +1 -1
  741. wagtail/images/static/wagtailimages/js/vendor/jquery.fileupload-image.js +1 -1
  742. wagtail/images/static/wagtailimages/js/vendor/jquery.fileupload-validate.js +1 -1
  743. wagtail/images/static/wagtailimages/js/vendor/load-image.min.js +1 -1
  744. wagtail/images/templates/wagtailimages/chooser/chooser.html +22 -13
  745. wagtail/images/templates/wagtailimages/chooser/image_preview_column_cell.html +10 -0
  746. wagtail/images/templates/wagtailimages/chooser/results.html +24 -20
  747. wagtail/images/templates/wagtailimages/chooser/title_column_cell.html +15 -0
  748. wagtail/images/templates/wagtailimages/images/add.html +0 -34
  749. wagtail/images/templates/wagtailimages/images/index.html +3 -3
  750. wagtail/images/templates/wagtailimages/images/index_results.html +1 -1
  751. wagtail/images/templates/wagtailimages/images/layout_toggle_button.html +8 -7
  752. wagtail/images/templatetags/wagtailimages_tags.py +2 -2
  753. wagtail/images/tests/test_admin_views.py +87 -0
  754. wagtail/images/tests/test_form_overrides.py +1 -1
  755. wagtail/images/tests/test_models.py +48 -9
  756. wagtail/images/views/chooser.py +66 -2
  757. wagtail/locale/af/LC_MESSAGES/django.po +1 -1
  758. wagtail/locale/ar/LC_MESSAGES/django.mo +0 -0
  759. wagtail/locale/ar/LC_MESSAGES/django.po +1 -9
  760. wagtail/locale/az_AZ/LC_MESSAGES/django.po +1 -1
  761. wagtail/locale/be/LC_MESSAGES/django.po +1 -1
  762. wagtail/locale/bg/LC_MESSAGES/django.po +1 -1
  763. wagtail/locale/bn/LC_MESSAGES/django.po +1 -1
  764. wagtail/locale/ca/LC_MESSAGES/django.mo +0 -0
  765. wagtail/locale/ca/LC_MESSAGES/django.po +4 -4
  766. wagtail/locale/cs/LC_MESSAGES/django.po +1 -1
  767. wagtail/locale/cy/LC_MESSAGES/django.po +1 -1
  768. wagtail/locale/da/LC_MESSAGES/django.po +1 -1
  769. wagtail/locale/de/LC_MESSAGES/django.mo +0 -0
  770. wagtail/locale/de/LC_MESSAGES/django.po +1 -9
  771. wagtail/locale/dv/LC_MESSAGES/django.mo +0 -0
  772. wagtail/locale/dv/LC_MESSAGES/django.po +1 -8
  773. wagtail/locale/el/LC_MESSAGES/django.po +1 -1
  774. wagtail/locale/en/LC_MESSAGES/django.po +55 -55
  775. wagtail/locale/es/LC_MESSAGES/django.po +1 -1
  776. wagtail/locale/es_419/LC_MESSAGES/django.po +1 -1
  777. wagtail/locale/et/LC_MESSAGES/django.po +1 -1
  778. wagtail/locale/eu/LC_MESSAGES/django.po +1 -1
  779. wagtail/locale/fa/LC_MESSAGES/django.po +1 -1
  780. wagtail/locale/fi/LC_MESSAGES/django.po +1 -1
  781. wagtail/locale/fr/LC_MESSAGES/django.mo +0 -0
  782. wagtail/locale/fr/LC_MESSAGES/django.po +4 -4
  783. wagtail/locale/gl/LC_MESSAGES/django.mo +0 -0
  784. wagtail/locale/gl/LC_MESSAGES/django.po +3 -3
  785. wagtail/locale/he_IL/LC_MESSAGES/django.po +1 -1
  786. wagtail/locale/hr_HR/LC_MESSAGES/django.po +1 -1
  787. wagtail/locale/hu/LC_MESSAGES/django.mo +0 -0
  788. wagtail/locale/hu/LC_MESSAGES/django.po +1 -9
  789. wagtail/locale/id_ID/LC_MESSAGES/django.po +1 -1
  790. wagtail/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  791. wagtail/locale/is_IS/LC_MESSAGES/django.po +4 -12
  792. wagtail/locale/it/LC_MESSAGES/django.po +1 -1
  793. wagtail/locale/ja/LC_MESSAGES/django.po +1 -1
  794. wagtail/locale/ka/LC_MESSAGES/django.po +1 -1
  795. wagtail/locale/ko/LC_MESSAGES/django.po +1 -1
  796. wagtail/locale/lt/LC_MESSAGES/django.po +1 -1
  797. wagtail/locale/lv/LC_MESSAGES/django.po +1 -1
  798. wagtail/locale/mi/LC_MESSAGES/django.po +1 -1
  799. wagtail/locale/mn/LC_MESSAGES/django.po +1 -1
  800. wagtail/locale/my/LC_MESSAGES/django.po +1 -1
  801. wagtail/locale/nb/LC_MESSAGES/django.po +1 -1
  802. wagtail/locale/nl/LC_MESSAGES/django.mo +0 -0
  803. wagtail/locale/nl/LC_MESSAGES/django.po +15 -6
  804. wagtail/locale/pl/LC_MESSAGES/django.mo +0 -0
  805. wagtail/locale/pl/LC_MESSAGES/django.po +1 -9
  806. wagtail/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  807. wagtail/locale/pt_PT/LC_MESSAGES/django.po +1 -1
  808. wagtail/locale/ro/LC_MESSAGES/django.mo +0 -0
  809. wagtail/locale/ro/LC_MESSAGES/django.po +1 -9
  810. wagtail/locale/ru/LC_MESSAGES/django.mo +0 -0
  811. wagtail/locale/ru/LC_MESSAGES/django.po +12 -10
  812. wagtail/locale/sk_SK/LC_MESSAGES/django.po +1 -1
  813. wagtail/locale/sl/LC_MESSAGES/django.mo +0 -0
  814. wagtail/locale/sl/LC_MESSAGES/django.po +1 -9
  815. wagtail/locale/sv/LC_MESSAGES/django.mo +0 -0
  816. wagtail/locale/sv/LC_MESSAGES/django.po +1 -9
  817. wagtail/locale/tet/LC_MESSAGES/django.po +1 -1
  818. wagtail/locale/th/LC_MESSAGES/django.po +1 -1
  819. wagtail/locale/tr/LC_MESSAGES/django.mo +0 -0
  820. wagtail/locale/tr/LC_MESSAGES/django.po +4 -8
  821. wagtail/locale/tr_TR/LC_MESSAGES/django.po +1 -1
  822. wagtail/locale/ug/LC_MESSAGES/django.mo +0 -0
  823. wagtail/locale/ug/LC_MESSAGES/django.po +1 -8
  824. wagtail/locale/uk/LC_MESSAGES/django.po +1 -1
  825. wagtail/locale/vi/LC_MESSAGES/django.po +1 -1
  826. wagtail/locale/zh/LC_MESSAGES/django.po +1 -1
  827. wagtail/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
  828. wagtail/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
  829. wagtail/locales/locale/en/LC_MESSAGES/django.po +1 -1
  830. wagtail/locales/locale/nl/LC_MESSAGES/django.mo +0 -0
  831. wagtail/locales/locale/nl/LC_MESSAGES/django.po +12 -1
  832. wagtail/locales/locale/ru/LC_MESSAGES/django.mo +0 -0
  833. wagtail/locales/locale/ru/LC_MESSAGES/django.po +10 -1
  834. wagtail/locales/views.py +2 -2
  835. wagtail/models/orderable.py +10 -0
  836. wagtail/models/pages.py +9 -11
  837. wagtail/models/sites.py +1 -1
  838. wagtail/models/workflows.py +8 -5
  839. wagtail/project_template/home/tests.py +6 -7
  840. wagtail/project_template/project_name/settings/base.py +9 -9
  841. wagtail/project_template/requirements.txt +1 -1
  842. wagtail/query.py +7 -2
  843. wagtail/rich_text/rewriters.py +1 -1
  844. wagtail/search/apps.py +4 -49
  845. wagtail/search/backends/__init__.py +1 -113
  846. wagtail/search/backends/base.py +1 -547
  847. wagtail/search/backends/database/__init__.py +1 -50
  848. wagtail/search/backends/database/fallback.py +1 -253
  849. wagtail/search/backends/database/mysql/mysql.py +1 -700
  850. wagtail/search/backends/database/mysql/query.py +1 -258
  851. wagtail/search/backends/database/postgres/postgres.py +1 -749
  852. wagtail/search/backends/database/postgres/query.py +1 -83
  853. wagtail/search/backends/database/postgres/weights.py +1 -63
  854. wagtail/search/backends/database/sqlite/query.py +1 -294
  855. wagtail/search/backends/database/sqlite/sqlite.py +1 -719
  856. wagtail/search/backends/database/sqlite/utils.py +1 -35
  857. wagtail/search/backends/deprecation.py +45 -0
  858. wagtail/search/backends/elasticsearch7.py +18 -1260
  859. wagtail/search/backends/elasticsearch8.py +21 -96
  860. wagtail/search/backends/elasticsearch9.py +35 -0
  861. wagtail/search/backends/opensearch2.py +35 -0
  862. wagtail/search/backends/opensearch3.py +35 -0
  863. wagtail/search/index.py +1 -358
  864. wagtail/search/locale/ar/LC_MESSAGES/django.mo +0 -0
  865. wagtail/search/locale/ar/LC_MESSAGES/django.po +1 -7
  866. wagtail/search/locale/be/LC_MESSAGES/django.mo +0 -0
  867. wagtail/search/locale/be/LC_MESSAGES/django.po +1 -7
  868. wagtail/search/locale/ca/LC_MESSAGES/django.mo +0 -0
  869. wagtail/search/locale/ca/LC_MESSAGES/django.po +1 -7
  870. wagtail/search/locale/cs/LC_MESSAGES/django.po +1 -1
  871. wagtail/search/locale/cy/LC_MESSAGES/django.mo +0 -0
  872. wagtail/search/locale/cy/LC_MESSAGES/django.po +1 -7
  873. wagtail/search/locale/de/LC_MESSAGES/django.mo +0 -0
  874. wagtail/search/locale/de/LC_MESSAGES/django.po +1 -7
  875. wagtail/search/locale/dv/LC_MESSAGES/django.mo +0 -0
  876. wagtail/search/locale/dv/LC_MESSAGES/django.po +1 -7
  877. wagtail/search/locale/en/LC_MESSAGES/django.po +2 -10
  878. wagtail/search/locale/es/LC_MESSAGES/django.mo +0 -0
  879. wagtail/search/locale/es/LC_MESSAGES/django.po +1 -7
  880. wagtail/search/locale/et/LC_MESSAGES/django.po +1 -1
  881. wagtail/search/locale/fa/LC_MESSAGES/django.po +1 -1
  882. wagtail/search/locale/fi/LC_MESSAGES/django.mo +0 -0
  883. wagtail/search/locale/fi/LC_MESSAGES/django.po +1 -7
  884. wagtail/search/locale/fr/LC_MESSAGES/django.mo +0 -0
  885. wagtail/search/locale/fr/LC_MESSAGES/django.po +1 -7
  886. wagtail/search/locale/gl/LC_MESSAGES/django.mo +0 -0
  887. wagtail/search/locale/gl/LC_MESSAGES/django.po +1 -7
  888. wagtail/search/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
  889. wagtail/search/locale/hr_HR/LC_MESSAGES/django.po +1 -7
  890. wagtail/search/locale/ht/LC_MESSAGES/django.po +1 -1
  891. wagtail/search/locale/hu/LC_MESSAGES/django.mo +0 -0
  892. wagtail/search/locale/hu/LC_MESSAGES/django.po +1 -7
  893. wagtail/search/locale/id_ID/LC_MESSAGES/django.po +1 -1
  894. wagtail/search/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  895. wagtail/search/locale/is_IS/LC_MESSAGES/django.po +1 -7
  896. wagtail/search/locale/it/LC_MESSAGES/django.mo +0 -0
  897. wagtail/search/locale/it/LC_MESSAGES/django.po +1 -7
  898. wagtail/search/locale/ja/LC_MESSAGES/django.po +1 -1
  899. wagtail/search/locale/ko/LC_MESSAGES/django.mo +0 -0
  900. wagtail/search/locale/ko/LC_MESSAGES/django.po +1 -7
  901. wagtail/search/locale/lt/LC_MESSAGES/django.po +1 -1
  902. wagtail/search/locale/mi/LC_MESSAGES/django.po +1 -1
  903. wagtail/search/locale/mn/LC_MESSAGES/django.po +1 -1
  904. wagtail/search/locale/my/LC_MESSAGES/django.po +1 -1
  905. wagtail/search/locale/nb/LC_MESSAGES/django.mo +0 -0
  906. wagtail/search/locale/nb/LC_MESSAGES/django.po +1 -7
  907. wagtail/search/locale/nl/LC_MESSAGES/django.mo +0 -0
  908. wagtail/search/locale/nl/LC_MESSAGES/django.po +1 -7
  909. wagtail/search/locale/pl/LC_MESSAGES/django.mo +0 -0
  910. wagtail/search/locale/pl/LC_MESSAGES/django.po +1 -7
  911. wagtail/search/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  912. wagtail/search/locale/pt_BR/LC_MESSAGES/django.po +1 -7
  913. wagtail/search/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  914. wagtail/search/locale/pt_PT/LC_MESSAGES/django.po +1 -7
  915. wagtail/search/locale/ro/LC_MESSAGES/django.mo +0 -0
  916. wagtail/search/locale/ro/LC_MESSAGES/django.po +1 -7
  917. wagtail/search/locale/ru/LC_MESSAGES/django.mo +0 -0
  918. wagtail/search/locale/ru/LC_MESSAGES/django.po +1 -7
  919. wagtail/search/locale/sl/LC_MESSAGES/django.mo +0 -0
  920. wagtail/search/locale/sl/LC_MESSAGES/django.po +1 -7
  921. wagtail/search/locale/sv/LC_MESSAGES/django.mo +0 -0
  922. wagtail/search/locale/sv/LC_MESSAGES/django.po +1 -7
  923. wagtail/search/locale/tet/LC_MESSAGES/django.po +1 -1
  924. wagtail/search/locale/th/LC_MESSAGES/django.po +1 -1
  925. wagtail/search/locale/tr/LC_MESSAGES/django.mo +0 -0
  926. wagtail/search/locale/tr/LC_MESSAGES/django.po +1 -7
  927. wagtail/search/locale/tr_TR/LC_MESSAGES/django.po +1 -1
  928. wagtail/search/locale/ug/LC_MESSAGES/django.mo +0 -0
  929. wagtail/search/locale/ug/LC_MESSAGES/django.po +1 -7
  930. wagtail/search/locale/uk/LC_MESSAGES/django.mo +0 -0
  931. wagtail/search/locale/uk/LC_MESSAGES/django.po +1 -7
  932. wagtail/search/locale/vi/LC_MESSAGES/django.po +1 -1
  933. wagtail/search/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  934. wagtail/search/locale/zh_Hans/LC_MESSAGES/django.po +1 -7
  935. wagtail/search/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
  936. wagtail/search/management/commands/update_index.py +1 -205
  937. wagtail/search/management/commands/wagtail_update_index.py +1 -4
  938. wagtail/search/models.py +29 -158
  939. wagtail/search/query.py +1 -114
  940. wagtail/search/queryset.py +1 -43
  941. wagtail/search/signal_handlers.py +1 -24
  942. wagtail/search/tasks.py +1 -10
  943. wagtail/search/tests/test_elasticsearch.py +22 -0
  944. wagtail/search/utils.py +1 -206
  945. wagtail/sites/locale/en/LC_MESSAGES/django.po +1 -1
  946. wagtail/snippets/locale/af/LC_MESSAGES/django.po +1 -1
  947. wagtail/snippets/locale/ar/LC_MESSAGES/django.po +1 -1
  948. wagtail/snippets/locale/az_AZ/LC_MESSAGES/django.po +1 -1
  949. wagtail/snippets/locale/be/LC_MESSAGES/django.po +1 -1
  950. wagtail/snippets/locale/bg/LC_MESSAGES/django.po +1 -1
  951. wagtail/snippets/locale/bn/LC_MESSAGES/django.po +1 -1
  952. wagtail/snippets/locale/ca/LC_MESSAGES/django.po +1 -1
  953. wagtail/snippets/locale/cs/LC_MESSAGES/django.po +1 -1
  954. wagtail/snippets/locale/cy/LC_MESSAGES/django.po +1 -1
  955. wagtail/snippets/locale/da/LC_MESSAGES/django.po +1 -1
  956. wagtail/snippets/locale/de/LC_MESSAGES/django.po +1 -1
  957. wagtail/snippets/locale/dv/LC_MESSAGES/django.po +1 -1
  958. wagtail/snippets/locale/el/LC_MESSAGES/django.po +1 -1
  959. wagtail/snippets/locale/en/LC_MESSAGES/django.po +3 -3
  960. wagtail/snippets/locale/en_IN/LC_MESSAGES/django.po +1 -1
  961. wagtail/snippets/locale/es/LC_MESSAGES/django.po +1 -1
  962. wagtail/snippets/locale/es_419/LC_MESSAGES/django.po +1 -1
  963. wagtail/snippets/locale/es_VE/LC_MESSAGES/django.po +1 -1
  964. wagtail/snippets/locale/et/LC_MESSAGES/django.po +1 -1
  965. wagtail/snippets/locale/eu/LC_MESSAGES/django.po +1 -1
  966. wagtail/snippets/locale/fa/LC_MESSAGES/django.po +1 -1
  967. wagtail/snippets/locale/fi/LC_MESSAGES/django.po +1 -1
  968. wagtail/snippets/locale/fr/LC_MESSAGES/django.po +1 -1
  969. wagtail/snippets/locale/gl/LC_MESSAGES/django.po +1 -1
  970. wagtail/snippets/locale/he_IL/LC_MESSAGES/django.po +1 -1
  971. wagtail/snippets/locale/hi/LC_MESSAGES/django.po +1 -1
  972. wagtail/snippets/locale/hr_HR/LC_MESSAGES/django.po +1 -1
  973. wagtail/snippets/locale/ht/LC_MESSAGES/django.po +1 -1
  974. wagtail/snippets/locale/hu/LC_MESSAGES/django.po +1 -1
  975. wagtail/snippets/locale/id_ID/LC_MESSAGES/django.po +1 -1
  976. wagtail/snippets/locale/is_IS/LC_MESSAGES/django.po +1 -1
  977. wagtail/snippets/locale/it/LC_MESSAGES/django.po +1 -1
  978. wagtail/snippets/locale/ja/LC_MESSAGES/django.po +1 -1
  979. wagtail/snippets/locale/ka/LC_MESSAGES/django.po +1 -1
  980. wagtail/snippets/locale/ko/LC_MESSAGES/django.po +1 -1
  981. wagtail/snippets/locale/lt/LC_MESSAGES/django.po +1 -1
  982. wagtail/snippets/locale/lv/LC_MESSAGES/django.po +1 -1
  983. wagtail/snippets/locale/mi/LC_MESSAGES/django.po +1 -1
  984. wagtail/snippets/locale/mn/LC_MESSAGES/django.po +1 -1
  985. wagtail/snippets/locale/my/LC_MESSAGES/django.po +1 -1
  986. wagtail/snippets/locale/nb/LC_MESSAGES/django.po +1 -1
  987. wagtail/snippets/locale/nl/LC_MESSAGES/django.po +1 -1
  988. wagtail/snippets/locale/pl/LC_MESSAGES/django.po +1 -1
  989. wagtail/snippets/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  990. wagtail/snippets/locale/pt_PT/LC_MESSAGES/django.po +1 -1
  991. wagtail/snippets/locale/ro/LC_MESSAGES/django.po +1 -1
  992. wagtail/snippets/locale/ru/LC_MESSAGES/django.mo +0 -0
  993. wagtail/snippets/locale/ru/LC_MESSAGES/django.po +9 -2
  994. wagtail/snippets/locale/sk_SK/LC_MESSAGES/django.po +1 -1
  995. wagtail/snippets/locale/sl/LC_MESSAGES/django.po +1 -1
  996. wagtail/snippets/locale/sr/LC_MESSAGES/django.po +1 -1
  997. wagtail/snippets/locale/sv/LC_MESSAGES/django.po +1 -1
  998. wagtail/snippets/locale/ta/LC_MESSAGES/django.po +1 -1
  999. wagtail/snippets/locale/tet/LC_MESSAGES/django.po +1 -1
  1000. wagtail/snippets/locale/th/LC_MESSAGES/django.po +1 -1
  1001. wagtail/snippets/locale/tr/LC_MESSAGES/django.mo +0 -0
  1002. wagtail/snippets/locale/tr/LC_MESSAGES/django.po +9 -2
  1003. wagtail/snippets/locale/tr_TR/LC_MESSAGES/django.po +1 -1
  1004. wagtail/snippets/locale/ug/LC_MESSAGES/django.po +1 -1
  1005. wagtail/snippets/locale/uk/LC_MESSAGES/django.po +1 -1
  1006. wagtail/snippets/locale/vi/LC_MESSAGES/django.po +1 -1
  1007. wagtail/snippets/locale/zh/LC_MESSAGES/django.po +1 -1
  1008. wagtail/snippets/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
  1009. wagtail/snippets/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
  1010. wagtail/snippets/static/wagtailsnippets/js/snippet-chooser-telepath.js +1 -1
  1011. wagtail/snippets/static/wagtailsnippets/js/snippet-chooser.js +1 -1
  1012. wagtail/snippets/tests/test_reordering.py +319 -0
  1013. wagtail/snippets/tests/test_snippets.py +77 -12
  1014. wagtail/snippets/views/snippets.py +16 -0
  1015. wagtail/test/numberformat.py +30 -0
  1016. wagtail/test/settings.py +35 -12
  1017. wagtail/test/testapp/fields.py +12 -0
  1018. wagtail/test/testapp/migrations/0056_commentablejsonpage.py +50 -0
  1019. wagtail/test/testapp/migrations/0057_featurecompletetoy_sort_order.py +23 -0
  1020. wagtail/test/testapp/migrations/0058_customlocktask.py +31 -0
  1021. wagtail/test/testapp/models.py +27 -0
  1022. wagtail/test/testapp/views.py +3 -1
  1023. wagtail/test/utils/page_tests.py +17 -17
  1024. wagtail/test/utils/template_tests.py +4 -6
  1025. wagtail/test/utils/wagtail_tests.py +1 -2
  1026. wagtail/tests/test_page_model.py +15 -0
  1027. wagtail/{search/tests → tests}/test_page_search.py +29 -2
  1028. wagtail/tests/test_search_fields.py +69 -0
  1029. wagtail/tests/test_tests.py +62 -6
  1030. wagtail/tests/test_workflow.py +25 -1
  1031. wagtail/users/locale/ar/LC_MESSAGES/django.po +1 -1
  1032. wagtail/users/locale/be/LC_MESSAGES/django.po +1 -1
  1033. wagtail/users/locale/bg/LC_MESSAGES/django.po +1 -1
  1034. wagtail/users/locale/bn/LC_MESSAGES/django.po +1 -1
  1035. wagtail/users/locale/ca/LC_MESSAGES/django.po +1 -1
  1036. wagtail/users/locale/cs/LC_MESSAGES/django.mo +0 -0
  1037. wagtail/users/locale/cs/LC_MESSAGES/django.po +4 -1
  1038. wagtail/users/locale/cy/LC_MESSAGES/django.po +1 -1
  1039. wagtail/users/locale/da/LC_MESSAGES/django.po +1 -1
  1040. wagtail/users/locale/de/LC_MESSAGES/django.po +1 -1
  1041. wagtail/users/locale/dv/LC_MESSAGES/django.po +1 -1
  1042. wagtail/users/locale/el/LC_MESSAGES/django.po +1 -1
  1043. wagtail/users/locale/en/LC_MESSAGES/django.po +2 -2
  1044. wagtail/users/locale/es/LC_MESSAGES/django.po +1 -1
  1045. wagtail/users/locale/es_419/LC_MESSAGES/django.po +1 -1
  1046. wagtail/users/locale/et/LC_MESSAGES/django.po +1 -1
  1047. wagtail/users/locale/eu/LC_MESSAGES/django.po +1 -1
  1048. wagtail/users/locale/fa/LC_MESSAGES/django.po +1 -1
  1049. wagtail/users/locale/fi/LC_MESSAGES/django.mo +0 -0
  1050. wagtail/users/locale/fi/LC_MESSAGES/django.po +6 -3
  1051. wagtail/users/locale/fr/LC_MESSAGES/django.po +1 -1
  1052. wagtail/users/locale/gl/LC_MESSAGES/django.po +1 -1
  1053. wagtail/users/locale/he_IL/LC_MESSAGES/django.po +1 -1
  1054. wagtail/users/locale/hr_HR/LC_MESSAGES/django.po +1 -1
  1055. wagtail/users/locale/hu/LC_MESSAGES/django.po +1 -1
  1056. wagtail/users/locale/hy/LC_MESSAGES/django.po +1 -1
  1057. wagtail/users/locale/id_ID/LC_MESSAGES/django.po +1 -1
  1058. wagtail/users/locale/is_IS/LC_MESSAGES/django.po +1 -1
  1059. wagtail/users/locale/it/LC_MESSAGES/django.po +1 -1
  1060. wagtail/users/locale/ja/LC_MESSAGES/django.po +1 -1
  1061. wagtail/users/locale/ka/LC_MESSAGES/django.po +1 -1
  1062. wagtail/users/locale/ko/LC_MESSAGES/django.po +1 -1
  1063. wagtail/users/locale/lt/LC_MESSAGES/django.po +1 -1
  1064. wagtail/users/locale/lv/LC_MESSAGES/django.po +1 -1
  1065. wagtail/users/locale/mi/LC_MESSAGES/django.po +1 -1
  1066. wagtail/users/locale/mn/LC_MESSAGES/django.po +1 -1
  1067. wagtail/users/locale/my/LC_MESSAGES/django.po +1 -1
  1068. wagtail/users/locale/nb/LC_MESSAGES/django.po +1 -1
  1069. wagtail/users/locale/nl/LC_MESSAGES/django.mo +0 -0
  1070. wagtail/users/locale/nl/LC_MESSAGES/django.po +7 -4
  1071. wagtail/users/locale/pl/LC_MESSAGES/django.po +1 -1
  1072. wagtail/users/locale/pt_BR/LC_MESSAGES/django.po +1 -1
  1073. wagtail/users/locale/pt_PT/LC_MESSAGES/django.po +1 -1
  1074. wagtail/users/locale/ro/LC_MESSAGES/django.po +1 -1
  1075. wagtail/users/locale/ru/LC_MESSAGES/django.mo +0 -0
  1076. wagtail/users/locale/ru/LC_MESSAGES/django.po +6 -2
  1077. wagtail/users/locale/sk_SK/LC_MESSAGES/django.po +1 -1
  1078. wagtail/users/locale/sl/LC_MESSAGES/django.po +1 -1
  1079. wagtail/users/locale/sv/LC_MESSAGES/django.po +1 -1
  1080. wagtail/users/locale/tet/LC_MESSAGES/django.po +1 -1
  1081. wagtail/users/locale/th/LC_MESSAGES/django.po +1 -1
  1082. wagtail/users/locale/tr/LC_MESSAGES/django.mo +0 -0
  1083. wagtail/users/locale/tr/LC_MESSAGES/django.po +79 -5
  1084. wagtail/users/locale/tr_TR/LC_MESSAGES/django.po +1 -1
  1085. wagtail/users/locale/ug/LC_MESSAGES/django.po +1 -1
  1086. wagtail/users/locale/uk/LC_MESSAGES/django.po +1 -1
  1087. wagtail/users/locale/vi/LC_MESSAGES/django.po +1 -1
  1088. wagtail/users/locale/zh/LC_MESSAGES/django.po +1 -1
  1089. wagtail/users/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
  1090. wagtail/users/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
  1091. wagtail/users/templates/wagtailusers/users/create.html +2 -0
  1092. wagtail/users/templates/wagtailusers/users/edit.html +2 -0
  1093. wagtail/users/tests/test_admin_views.py +4 -0
  1094. wagtail/users/views/users.py +1 -1
  1095. {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/METADATA +8 -7
  1096. {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/RECORD +1102 -1108
  1097. wagtail/admin/templates/wagtailadmin/collection_privacy/set_privacy.html +0 -13
  1098. wagtail/admin/templates/wagtailadmin/page_privacy/set_privacy.html +0 -13
  1099. wagtail/search/tests/__init__.py +0 -0
  1100. wagtail/search/tests/elasticsearch_common_tests.py +0 -251
  1101. wagtail/search/tests/test_backends.py +0 -1215
  1102. wagtail/search/tests/test_db_backend.py +0 -62
  1103. wagtail/search/tests/test_elasticsearch7_backend.py +0 -1452
  1104. wagtail/search/tests/test_elasticsearch8_backend.py +0 -15
  1105. wagtail/search/tests/test_index_functions.py +0 -256
  1106. wagtail/search/tests/test_indexed_class.py +0 -157
  1107. wagtail/search/tests/test_mysql_backend.py +0 -192
  1108. wagtail/search/tests/test_postgres_backend.py +0 -210
  1109. wagtail/search/tests/test_queries.py +0 -332
  1110. wagtail/search/tests/test_related_fields.py +0 -102
  1111. wagtail/search/tests/test_sqlite_backend.py +0 -52
  1112. wagtail/test/search/__init__.py +0 -0
  1113. wagtail/test/search/apps.py +0 -9
  1114. wagtail/test/search/fixtures/search.json +0 -545
  1115. wagtail/test/search/migrations/0001_initial.py +0 -146
  1116. wagtail/test/search/migrations/0002_bookunindexed.py +0 -43
  1117. wagtail/test/search/migrations/0003_book_summary.py +0 -18
  1118. wagtail/test/search/migrations/__init__.py +0 -0
  1119. wagtail/test/search/models.py +0 -137
  1120. /wagtail/admin/templates/wagtailadmin/{pages/listing/_ordering_cell.html → tables/ordering_cell.html} +0 -0
  1121. /wagtail/{search/checks.py → checks.py} +0 -0
  1122. {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/WHEEL +0 -0
  1123. {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/entry_points.txt +0 -0
  1124. {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/licenses/LICENSE +0 -0
  1125. {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/top_level.txt +0 -0
@@ -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: 2025-07-24 16:20+0200\n"
12
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
13
13
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
14
14
  "Last-Translator: Dan Braghis, 2016\n"
15
15
  "Language-Team: Romanian (http://app.transifex.com/torchbox/wagtail/language/"
@@ -17,7 +17,7 @@ msgid ""
17
17
  msgstr ""
18
18
  "Project-Id-Version: Wagtail\n"
19
19
  "Report-Msgid-Bugs-To: \n"
20
- "POT-Creation-Date: 2025-07-24 16:20+0200\n"
20
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
21
21
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
22
22
  "Last-Translator: Влад <integration.into.society@gmail.com>, 2021\n"
23
23
  "Language-Team: Russian (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: 2025-07-24 16:20+0200\n"
14
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
15
15
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
16
16
  "Last-Translator: Martin Janšto <mato@jansto.sk>, 2017\n"
17
17
  "Language-Team: Slovak (Slovakia) (http://app.transifex.com/torchbox/wagtail/"
@@ -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: 2025-07-24 16:20+0200\n"
13
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
14
14
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
15
15
  "Last-Translator: Andrej Marsetič, 2022,2024\n"
16
16
  "Language-Team: Slovenian (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: 2025-07-24 16:20+0200\n"
12
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
13
13
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
14
14
  "Last-Translator: Thomas Kunambi <kunambi@gmail.com>, 2017,2021\n"
15
15
  "Language-Team: Swedish (http://app.transifex.com/torchbox/wagtail/language/"
@@ -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: 2025-07-24 16:20+0200\n"
11
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
12
12
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
13
13
  "Last-Translator: Peter Coward <peter@catalpa.io>, 2019\n"
14
14
  "Language-Team: Tetum (Tetun) (http://app.transifex.com/torchbox/wagtail/"
@@ -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: 2025-07-24 16:20+0200\n"
13
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
14
14
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
15
15
  "Last-Translator: Walaksawan Vervoort <nula_wala@yahoo.com>, 2019\n"
16
16
  "Language-Team: Thai (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: 2025-07-24 16:20+0200\n"
14
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
15
15
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
16
16
  "Last-Translator: Ragıp Ünal <ragip@ragipunal.com>, 2016\n"
17
17
  "Language-Team: Turkish (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: 2025-07-24 16:20+0200\n"
14
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
15
15
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
16
16
  "Last-Translator: Saadettin Yasir AKEL <yasirakel@gmail.com>, 2016\n"
17
17
  "Language-Team: Turkish (Turkey) (http://app.transifex.com/torchbox/wagtail/"
@@ -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: 2025-07-24 16:20+0200\n"
10
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
11
11
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Uyghur (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: 2025-07-24 16:20+0200\n"
13
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
14
14
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
15
15
  "Last-Translator: d55ee35323c0c760f088259cd23b1b6d_9e8a7d1 "
16
16
  "<5459f3ae99ecdd5ed0be0220acd46004_1019581>, 2021\n"
@@ -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: 2025-07-24 16:20+0200\n"
11
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
12
12
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
13
13
  "Last-Translator: Duc Huynh <duchuynhthoai@gmail.com>, 2021\n"
14
14
  "Language-Team: Vietnamese (http://app.transifex.com/torchbox/wagtail/"
@@ -13,7 +13,7 @@ msgid ""
13
13
  msgstr ""
14
14
  "Project-Id-Version: Wagtail\n"
15
15
  "Report-Msgid-Bugs-To: \n"
16
- "POT-Creation-Date: 2025-07-24 16:20+0200\n"
16
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
17
17
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
18
18
  "Last-Translator: 飘 赵 <275980464@qq.com>, 2016\n"
19
19
  "Language-Team: Chinese (China) (http://app.transifex.com/torchbox/wagtail/"
@@ -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: 2025-07-24 16:20+0200\n"
12
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
13
13
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
14
14
  "Last-Translator: Chih Wang <ihcgno@icloud.com>, 2020\n"
15
15
  "Language-Team: Chinese Traditional (http://app.transifex.com/torchbox/"
@@ -1 +1 @@
1
- (()=>{"use strict";var e,t={6865:(e,t,n)=>{var a=n(1669),l=n.n(a),i=n(4188);const o={contenteditable:"true","plaintext-only":"true",tabindex:"0"};function r(e,t){const n=e+"-handsontable-container";var a=e+"-handsontable-header",r=e+"-handsontable-col-header",s=e+"-table-header-choice";const d=e+"-handsontable-col-caption",c=l()("#"+e);var h=l()("#"+a),p=l()("#"+r),f=l()("#"+s);const u=l()("#"+d),b={};let g=null,v=null,w=!1;const m=l()("#"+e).parent(),_=function(){let e=0;return m.find(".htCore").each((function(){e+=l()(this).height()})),e+m.find("[data-field]").first().height()},y=[`#${n}`,".wtHider",".wtHolder"],$=function(t){const n=l()("#"+e);l().each(y,(function(){n.closest("[data-field]").find(this).height(t)}))};try{v=JSON.parse(c.val())}catch(e){}null!==v&&((0,i.$)(v,"table_caption")&&u.prop("value",v.table_caption),(0,i.$)(v,"table_header_choice")&&f.prop("value",v.table_header_choice)),(0,i.$)(t,"width")&&(0,i.$)(t,"height")||l()(window).on("resize",(()=>{var e;g.updateSettings({width:l()(".w-field--table_input").closest(".w-panel").width(),height:_()}),e="100%",l().each(y,(function(){l()(this).width(e)})),l()(".w-field--table_input").width(e)}));const C=function(){const e=[],t=[];g.getCellsMeta().forEach((t=>{let n,a;(0,i.$)(t,"className")&&(n=t.className),(0,i.$)(t,"hidden")&&(a=!0),(void 0!==n||a)&&e.push({row:t.row,col:t.col,className:n,hidden:a})})),g.getPlugin("mergeCells").isEnabled()&&g.getPlugin("mergeCells").mergedCellsCollection.mergedCells.forEach((e=>{t.push({row:e.row,col:e.col,rowspan:e.rowspan,colspan:e.colspan})})),c.val(JSON.stringify({data:g.getData(),cell:e,mergeCells:t,first_row_is_table_header:h.val(),first_col_is_header:p.val(),table_header_choice:f.val(),table_caption:u.val()}))},O=function(e,t){$(_()),C(),l()((()=>{l()(m).find("td, th").attr(o)}))};f.on("change",(()=>{C()})),u.on("change",(()=>{C()}));const S={afterChange:function(e,t){w&&"loadData"!==t&&"MergeCells"!==t&&C()},afterCreateCol:O,afterCreateRow:O,afterRemoveCol:O,afterRemoveRow:O,afterSetCellMeta:function(e,t,n,a){w&&"className"===n&&C()},afterMergeCells:function(e,t,n){w&&C()},afterUnmergeCells:function(e,t){w&&C()},afterInit:function(){w=!0}};null!==v&&((0,i.$)(v,"data")&&(S.data=v.data),(0,i.$)(v,"cell")&&(S.cell=v.cell)),Object.keys(S).forEach((e=>{b[e]=S[e]})),Object.keys(t).forEach((e=>{b[e]=t[e]})),(0,i.$)(b,"mergeCells")&&!0===b.mergeCells&&null!==v&&(0,i.$)(v,"mergeCells")&&(b.mergeCells=v.mergeCells),g=new Handsontable(document.getElementById(n),b),window.addEventListener("load",(()=>{g.render(),$(_()),m.find("td, th").attr(o),window.dispatchEvent(new Event("resize"))}))}window.initTable=r,window.telepath.register("wagtail.widgets.TableInput",class{constructor(e,t){this.options=e,this.strings=t}render(e,t,n,a){const i=document.createElement("div");i.innerHTML=`\n <div class="w-field__wrapper" data-field-wrapper>\n <label class="w-field__label" for="${n}-table-header-choice">${this.strings["Table headers"]}</label>\n <select id="${n}-table-header-choice" name="table-header-choice">\n <option value="">Select a header option</option>\n <option value="row">\n ${this.strings["Display the first row as a header"]}\n </option>\n <option value="column">\n ${this.strings["Display the first column as a header"]}\n </option>\n <option value="both">\n ${this.strings["Display the first row AND first column as headers"]}\n </option>\n <option value="neither">\n ${this.strings["No headers"]}\n </option>\n </select>\n <p class="help">${this.strings["Which cells should be displayed as headers?"]}</p>\n </div>\n <div class="w-field__wrapper" data-field-wrapper>\n <label class="w-field__label" for="${n}-handsontable-col-caption">${this.strings["Table caption"]}</label>\n <div class="w-field w-field--char_field w-field--text_input" data-field>\n <div class="w-field__help" id="${n}-handsontable-col-caption-helptext" data-field-help>\n <div class="help">${this.strings["A heading that identifies the overall topic of the table, and is useful for screen reader users."]}</div>\n </div>\n <div class="w-field__input" data-field-input>\n <input type="text" id="${n}-handsontable-col-caption" name="handsontable-col-caption" aria-describedby="${n}-handsontable-col-caption-helptext" />\n </div>\n </div>\n </div>\n <div id="${n}-handsontable-container"></div>\n <input type="hidden" name="${t}" id="${n}" placeholder="${this.strings.Table}">\n `,l()((()=>{const e=document.getElementById(`${n}-handsontable-container`);l()(e).find("td, th").attr(o)})),e.replaceWith(i);const s=i.querySelector(`input[name="${t}"]`),d=this.options,c={getValue:()=>JSON.parse(s.value),getState:()=>JSON.parse(s.value),setState(e){s.value=JSON.stringify(e),r(n,d)},focus(){}};return c.setState(a),c}})},1669:e=>{e.exports=jQuery}},n={};function a(e){var l=n[e];if(void 0!==l)return l.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,a),i.exports}a.m=t,e=[],a.O=(t,n,l,i)=>{if(!n){var o=1/0;for(c=0;c<e.length;c++){for(var[n,l,i]=e[c],r=!0,s=0;s<n.length;s++)(!1&i||o>=i)&&Object.keys(a.O).every((e=>a.O[e](n[s])))?n.splice(s--,1):(r=!1,i<o&&(o=i));if(r){e.splice(c--,1);var d=l();void 0!==d&&(t=d)}}return t}i=i||0;for(var c=e.length;c>0&&e[c-1][2]>i;c--)e[c]=e[c-1];e[c]=[n,l,i]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.j=853,(()=>{var e={853:0};a.O.j=t=>0===e[t];var t=(t,n)=>{var l,i,[o,r,s]=n,d=0;if(o.some((t=>0!==e[t]))){for(l in r)a.o(r,l)&&(a.m[l]=r[l]);if(s)var c=s(a)}for(t&&t(n);d<o.length;d++)i=o[d],a.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return a.O(c)},n=globalThis.webpackChunkwagtail=globalThis.webpackChunkwagtail||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var l=a.O(void 0,[321],(()=>a(6865)));l=a.O(l)})();
1
+ (()=>{"use strict";var e,t={1669:e=>{e.exports=jQuery},6865:(e,t,n)=>{var a=n(1669),l=n.n(a),i=n(4188);const o={contenteditable:"true","plaintext-only":"true",tabindex:"0"};function r(e,t){const n=e+"-handsontable-container";var a=e+"-handsontable-header",r=e+"-handsontable-col-header",s=e+"-table-header-choice";const d=e+"-handsontable-col-caption",c=l()("#"+e);var h=l()("#"+a),p=l()("#"+r),f=l()("#"+s);const u=l()("#"+d),b={};let g=null,v=null,w=!1;const m=l()("#"+e).parent(),_=function(){let e=0;return m.find(".htCore").each(function(){e+=l()(this).height()}),e+m.find("[data-field]").first().height()},$=[`#${n}`,".wtHider",".wtHolder"],y=function(t){const n=l()("#"+e);l().each($,function(){n.closest("[data-field]").find(this).height(t)})};try{v=JSON.parse(c.val())}catch(e){}null!==v&&((0,i.$)(v,"table_caption")&&u.prop("value",v.table_caption),(0,i.$)(v,"table_header_choice")&&f.prop("value",v.table_header_choice)),(0,i.$)(t,"width")&&(0,i.$)(t,"height")||l()(window).on("resize",()=>{var e;g.updateSettings({width:l()(".w-field--table_input").closest(".w-panel").width(),height:_()}),e="100%",l().each($,function(){l()(this).width(e)}),l()(".w-field--table_input").width(e)});const C=function(){const e=[],t=[];g.getCellsMeta().forEach(t=>{let n,a;(0,i.$)(t,"className")&&(n=t.className),(0,i.$)(t,"hidden")&&(a=!0),(void 0!==n||a)&&e.push({row:t.row,col:t.col,className:n,hidden:a})}),g.getPlugin("mergeCells").isEnabled()&&g.getPlugin("mergeCells").mergedCellsCollection.mergedCells.forEach(e=>{t.push({row:e.row,col:e.col,rowspan:e.rowspan,colspan:e.colspan})}),c.val(JSON.stringify({data:g.getData(),cell:e,mergeCells:t,first_row_is_table_header:h.val(),first_col_is_header:p.val(),table_header_choice:f.val(),table_caption:u.val()}))},O=function(e,t){y(_()),C(),l()(()=>{l()(m).find("td, th").attr(o)})};f.on("change",()=>{C()}),u.on("change",()=>{C()});const S={afterChange:function(e,t){w&&"loadData"!==t&&"MergeCells"!==t&&C()},afterCreateCol:O,afterCreateRow:O,afterRemoveCol:O,afterRemoveRow:O,afterSetCellMeta:function(e,t,n,a){w&&"className"===n&&C()},afterMergeCells:function(e,t,n){w&&C()},afterUnmergeCells:function(e,t){w&&C()},afterInit:function(){w=!0}};null!==v&&((0,i.$)(v,"data")&&(S.data=v.data),(0,i.$)(v,"cell")&&(S.cell=v.cell)),Object.keys(S).forEach(e=>{b[e]=S[e]}),Object.keys(t).forEach(e=>{b[e]=t[e]}),(0,i.$)(b,"mergeCells")&&!0===b.mergeCells&&null!==v&&(0,i.$)(v,"mergeCells")&&(b.mergeCells=v.mergeCells),g=new Handsontable(document.getElementById(n),b),window.addEventListener("load",()=>{g.render(),y(_()),m.find("td, th").attr(o),window.dispatchEvent(new Event("resize"))})}window.initTable=r,window.telepath.register("wagtail.widgets.TableInput",class{constructor(e,t){this.options=e,this.strings=t}render(e,t,n,a){const i=document.createElement("div");i.innerHTML=`\n <div class="w-field__wrapper" data-field-wrapper>\n <label class="w-field__label" for="${n}-table-header-choice">${this.strings["Table headers"]}</label>\n <select id="${n}-table-header-choice" name="table-header-choice">\n <option value="">${this.strings["Select a header option"]}</option>\n <option value="row">\n ${this.strings["Display the first row as a header"]}\n </option>\n <option value="column">\n ${this.strings["Display the first column as a header"]}\n </option>\n <option value="both">\n ${this.strings["Display the first row AND first column as headers"]}\n </option>\n <option value="neither">\n ${this.strings["No headers"]}\n </option>\n </select>\n <p class="help">${this.strings["Which cells should be displayed as headers?"]}</p>\n </div>\n <div class="w-field__wrapper" data-field-wrapper>\n <label class="w-field__label" for="${n}-handsontable-col-caption">${this.strings["Table caption"]}</label>\n <div class="w-field w-field--char_field w-field--text_input" data-field>\n <div class="w-field__help" id="${n}-handsontable-col-caption-helptext" data-field-help>\n <div class="help">${this.strings["A heading that identifies the overall topic of the table, and is useful for screen reader users."]}</div>\n </div>\n <div class="w-field__input" data-field-input>\n <input type="text" id="${n}-handsontable-col-caption" name="handsontable-col-caption" aria-describedby="${n}-handsontable-col-caption-helptext" />\n </div>\n </div>\n </div>\n <div id="${n}-handsontable-container"></div>\n <input type="hidden" name="${t}" id="${n}" placeholder="${this.strings.Table}">\n `,l()(()=>{const e=document.getElementById(`${n}-handsontable-container`);l()(e).find("td, th").attr(o)}),e.replaceWith(i);const s=i.querySelector(`input[name="${t}"]`),d=this.options,c={getValue:()=>JSON.parse(s.value),getState:()=>JSON.parse(s.value),setState(e){s.value=JSON.stringify(e),r(n,d)},focus(){}};return c.setState(a),c}})}},n={};function a(e){var l=n[e];if(void 0!==l)return l.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,a),i.exports}a.m=t,e=[],a.O=(t,n,l,i)=>{if(!n){var o=1/0;for(c=0;c<e.length;c++){for(var[n,l,i]=e[c],r=!0,s=0;s<n.length;s++)(!1&i||o>=i)&&Object.keys(a.O).every(e=>a.O[e](n[s]))?n.splice(s--,1):(r=!1,i<o&&(o=i));if(r){e.splice(c--,1);var d=l();void 0!==d&&(t=d)}}return t}i=i||0;for(var c=e.length;c>0&&e[c-1][2]>i;c--)e[c]=e[c-1];e[c]=[n,l,i]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.j=853,(()=>{var e={853:0};a.O.j=t=>0===e[t];var t=(t,n)=>{var l,i,[o,r,s]=n,d=0;if(o.some(t=>0!==e[t])){for(l in r)a.o(r,l)&&(a.m[l]=r[l]);if(s)var c=s(a)}for(t&&t(n);d<o.length;d++)i=o[d],a.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return a.O(c)},n=globalThis.webpackChunkwagtail=globalThis.webpackChunkwagtail||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var l=a.O(void 0,[321],()=>a(6865));l=a.O(l)})();
@@ -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: 2025-07-24 16:20+0200\n"
11
+ "POT-Creation-Date: 2025-10-23 16:45+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"
@@ -1 +1 @@
1
- (()=>{"use strict";var t,e={7595:(t,e,n)=>{var i=n(4327),o=n(9675),s=n(4545);class l{constructor(t,e,n,o,s){this.blockDef=t,this.type=t.name,this.caption="",this.columns=[],this.rows=[],this.columnCountIncludingDeleted=0,this.rowCountIncludingDeleted=0,this.prefix=n,this.childBlockDefsByName={},this.blockDef.childBlockDefs.forEach((t=>{this.childBlockDefsByName[t.name]=t}));const l=this.blockDef.meta.strings,a=`${(0,i.Z)(n)}-caption`,d=$(`\n <div class="typed-table-block ${(0,i.Z)(this.blockDef.meta.classname||"")}">\n <div class="w-field__wrapper" data-field-wrapper>\n <label class="w-field__label" for="${a}">\n ${l.CAPTION}\n </label>\n <div class="w-field w-field--char_field w-field--text_input" data-field>\n <div class="w-field__help" data-field-help>\n <div class="help">\n ${l.CAPTION_HELP_TEXT}\n </div>\n </div>\n <div class="w-field__input" data-field-input>\n <input type="text" id="${a}" name="${a}" value="" />\n <span></span>\n </div>\n </div>\n </div>\n <input type="hidden" name="${(0,i.Z)(n)}-column-count" data-column-count value="0">\n <input type="hidden" name="${(0,i.Z)(n)}-row-count" data-row-count value="0">\n <div data-deleted-fields></div>\n <div class="typed-table-block__wrapper">\n <table>\n <thead>\n <tr>\n <th aria-hidden="true"></th>\n <th class="control-cell">\n <button type="button" class="button button-small button-secondary append-column" aria-expanded="false" data-append-column>\n ${(0,i.Z)(l.ADD_COLUMN)}\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n </tbody>\n <tfoot>\n <tr>\n <td class="control-cell">\n <button\n type="button"\n class="button button-small button-secondary button--icon text-replace prepend-row"\n data-add-row\n aria-label="${(0,i.Z)(l.ADD_ROW)}"\n title="${(0,i.Z)(l.ADD_ROW)}"\n >\n <svg class="icon icon-plus icon" aria-hidden="true">\n <use href="#icon-plus"></use>\n </svg>\n </button></td>\n </tr>\n </tfoot>\n </table>\n </div>\n </div>\n `);$(e).replaceWith(d),this.container=d,this.captionInput=d.find(`#${a}`).get(0),this.thead=d.find("table > thead").get(0),this.tbody=d.find("table > tbody").get(0),this.columnCountInput=d.find("input[data-column-count]").get(0),this.rowCountInput=d.find("input[data-row-count]").get(0),this.deletedFieldsContainer=d.find("[data-deleted-fields]").get(0),this.appendColumnButton=d.find("button[data-append-column]"),this.addRowButton=d.find("button[data-add-row]"),this.addRowButton.hide(),this.blockDef.meta.helpText&&d.append(`\n <div class="c-sf-help">\n <div class="help">\n ${this.blockDef.meta.helpText}\n </div>\n </div>\n `),this.addColumnCallback=null,this.addColumnMenu=$('<ul class="add-column-menu"></ul>'),this.blockDef.childBlockDefs.forEach((t=>{const e=$('<button type="button" class="button button-small"></button>').text(t.meta.label);e.on("click",(()=>{this.addColumnCallback&&this.addColumnCallback(t),this.hideAddColumnMenu(this.addColumnMenuTrigger)}));const n=$("<li></li>").append(e);this.addColumnMenu.append(n)})),this.addColumnMenuTrigger=null,this.appendColumnButton.on("click",(()=>{this.toggleAddColumnMenu(this.appendColumnButton,(t=>{this.insertColumn(this.columns.length,t,{addInitialRow:!0})}))})),this.addRowButton.on("click",(()=>{this.insertRow(this.rows.length)})),this.setState(o),s&&this.setError(s)}showAddColumnMenu(t,e){this.addColumnMenuTrigger?.attr("aria-expanded","false"),this.addColumnMenuTrigger=t,t.after(this.addColumnMenu),t.attr("aria-expanded","true"),this.addColumnMenu.show(),this.addColumnCallback=e}hideAddColumnMenu(t){t.attr("aria-expanded","false"),this.addColumnMenu.hide(),this.addColumnMenuTrigger=null}toggleAddColumnMenu(t,e){this.addColumnMenuTrigger===t?this.hideAddColumnMenu(t):this.showAddColumnMenu(t,e)}clear(){this.setCaption(""),this.columns=[],this.rows=[],this.columnCountIncludingDeleted=0,this.columnCountInput.value=0,this.rowCountIncludingDeleted=0,this.rowCountInput.value=0,this.deletedFieldsContainer.replaceChildren();const t=this.thead.children[0];t.replaceChildren(t.firstElementChild,t.lastElementChild),this.appendColumnButton.text(this.blockDef.meta.strings.ADD_COLUMN).removeClass("button--icon text-replace white").removeAttr("aria-label").removeAttr("title"),this.tbody.replaceChildren(),this.addRowButton.hide()}setCaption(t){this.caption=t,this.captionInput.value=t}insertColumn(t,e,n){const s={blockDef:e,position:t,id:this.columnCountIncludingDeleted};this.columnCountIncludingDeleted+=1,(0,o.y)(t,this.columns.length).forEach((t=>{this.columns[t].position+=1,this.columns[t].positionInput.value=this.columns[t].position})),this.columns.splice(t,0,s),this.columnCountInput.value=this.columnCountIncludingDeleted;const l=this.thead.children[0],a=l.children,d=document.createElement("th");l.insertBefore(d,a[t+1]),s.typeInput=document.createElement("input"),s.typeInput.type="hidden",s.typeInput.name=this.prefix+"-column-"+s.id+"-type",s.typeInput.value=e.name,d.appendChild(s.typeInput),s.positionInput=document.createElement("input"),s.positionInput.type="hidden",s.positionInput.name=this.prefix+"-column-"+s.id+"-order",s.positionInput.value=t,d.appendChild(s.positionInput),s.deletedInput=document.createElement("input"),s.deletedInput.type="hidden",s.deletedInput.name=this.prefix+"-column-"+s.id+"-deleted",s.deletedInput.value="",this.deletedFieldsContainer.appendChild(s.deletedInput);const u=$(`<button type="button"\n class="button button-secondary button-small button--icon text-replace prepend-column"\n aria-label="${(0,i.Z)(this.blockDef.meta.strings.INSERT_COLUMN)}"\n aria-expanded="false"\n title="${(0,i.Z)(this.blockDef.meta.strings.INSERT_COLUMN)}">\n <svg class="icon icon-plus icon" aria-hidden="true"><use href="#icon-plus"></use></svg>\n </button>`);$(d).append(u),u.on("click",(()=>{this.toggleAddColumnMenu(u,(t=>{this.insertColumn(s.position,t,{addInitialRow:!0})}))})),s.headingInput=document.createElement("input"),s.headingInput.type="text",s.headingInput.name=this.prefix+"-column-"+s.id+"-heading",s.headingInput.className="column-heading",s.headingInput.placeholder=this.blockDef.meta.strings.COLUMN_HEADING,d.appendChild(s.headingInput);const c=$(`<button type="button"\n class="button button-secondary button-small button--icon text-replace no delete-column"\n aria-label="${(0,i.Z)(this.blockDef.meta.strings.DELETE_COLUMN)}"\n title="${(0,i.Z)(this.blockDef.meta.strings.DELETE_COLUMN)}">\n <svg class="icon icon-bin icon" aria-hidden="true"><use href="#icon-bin"></use></svg>\n </button>`);$(d).append(c),c.on("click",(()=>{this.deleteColumn(s.position)}));const r=this.blockDef.childBlockDefaultStates[e.name];return Array.from(this.tbody.children).forEach(((e,n)=>{const i=this.rows[n],o=e.children,l=document.createElement("td");e.insertBefore(l,o[t+1]);const a=this.initCell(l,s,i,r);i.blocks.splice(t,0,a)})),this.addRowButton.show(),this.appendColumnButton.html('<svg class="icon icon-plus icon" aria-hidden="true"><use href="#icon-plus"></use></svg>').addClass("button--icon text-replace white").attr("aria-label",this.blockDef.meta.strings.ADD_COLUMN).attr("aria-expanded","false").attr("title",this.blockDef.meta.strings.ADD_COLUMN),n&&n.addInitialRow&&0===this.tbody.children.length&&this.insertRow(0),s}deleteColumn(t){this.columns[t].deletedInput.value="1";const e=this.thead.children[0],n=e.children;e.removeChild(n[t+1]),Array.from(this.tbody.children).forEach(((e,n)=>{const i=e.children;e.removeChild(i[t+1]),this.rows[n].blocks.splice(t,1)})),this.columns.splice(t,1),(0,o.y)(t,this.columns.length).forEach((t=>{this.columns[t].position-=1,this.columns[t].positionInput.value=this.columns[t].position})),0===this.columns.length&&this.clear()}insertRow(t,e){const n=document.createElement("tr"),s={blocks:[],position:t,id:this.rowCountIncludingDeleted};if(t<this.rows.length){const e=this.tbody.children[t];this.tbody.insertBefore(n,e)}else this.tbody.appendChild(n);this.rows.splice(t,0,s),this.rowCountIncludingDeleted+=1,this.rowCountInput.value=this.rowCountIncludingDeleted;const l=document.createElement("td");l.className="control-cell",n.appendChild(l);const a=$(`<button type="button"\n class="button button-secondary button-small button--icon text-replace prepend-row"\n aria-label="${(0,i.Z)(this.blockDef.meta.strings.INSERT_ROW)}"\n title="${(0,i.Z)(this.blockDef.meta.strings.INSERT_ROW)}">\n <svg class="icon icon-plus icon" aria-hidden="true"><use href="#icon-plus"></use></svg>\n </button>`);$(l).append(a),a.on("click",(()=>{this.insertRow(s.position)})),this.columns.forEach(((t,i)=>{let o;o=e?e[i]:this.blockDef.childBlockDefaultStates[t.blockDef.name];const l=document.createElement("td");n.appendChild(l),s.blocks[i]=this.initCell(l,t,s,o)}));const d=document.createElement("td");d.className="control-cell",n.appendChild(d),s.positionInput=document.createElement("input"),s.positionInput.type="hidden",s.positionInput.name=this.prefix+"-row-"+s.id+"-order",s.positionInput.value=s.position,d.appendChild(s.positionInput);const u=$(`<button type="button"\n class="button button-secondary button-small button--icon text-replace no delete-row"\n aria-label="${(0,i.Z)(this.blockDef.meta.strings.DELETE_ROW)}"\n title="${(0,i.Z)(this.blockDef.meta.strings.DELETE_ROW)}">\n <svg class="icon icon-bin icon" aria-hidden="true"><use href="#icon-bin"></use></svg>\n </button>`);return $(d).append(u),u.on("click",(()=>{this.deleteRow(s.position)})),s.deletedInput=document.createElement("input"),s.deletedInput.type="hidden",s.deletedInput.name=this.prefix+"-row-"+s.id+"-deleted",s.deletedInput.value="",this.deletedFieldsContainer.appendChild(s.deletedInput),(0,o.y)(t+1,this.rows.length).forEach((t=>{this.rows[t].position+=1,this.rows[t].positionInput.value=this.rows[t].position})),s}deleteRow(t){this.rows[t].deletedInput.value="1";const e=this.tbody.children[t];this.tbody.removeChild(e),this.rows.splice(t,1),(0,o.y)(t,this.rows.length).forEach((t=>{this.rows[t].position-=1,this.rows[t].positionInput.value=this.rows[t].position}))}initCell(t,e,n,i){const o=document.createElement("div");t.appendChild(o);const s=this.prefix+"-cell-"+n.id+"-"+e.id;return e.blockDef.render(o,s,i,null)}setState(t){this.clear(),t&&(t.columns.forEach(((t,e)=>{const n=this.childBlockDefsByName[t.type];this.insertColumn(e,n).headingInput.value=t.heading})),t.rows.forEach(((t,e)=>{this.insertRow(e,t.values)})),this.setCaption(t.caption))}setError(t){if(!t)return;const e=this.container[0];if((0,s.$)(e),t.messages&&(0,s.U)(e,t.messages),t.blockErrors)for(const[e,n]of Object.entries(t.blockErrors))for(const[t,i]of Object.entries(n))this.rows[e].blocks[t].setError(i)}getState(){return{columns:this.getColumnStates(),rows:this.rows.map((t=>({values:t.blocks.map((t=>t.getState()))}))),caption:this.caption}}getDuplicatedState(){return{columns:this.getColumnStates(),rows:this.rows.map((t=>({values:t.blocks.map((t=>void 0===t.getDuplicatedState?t.getState():t.getDuplicatedState()))})))}}getValue(){return{columns:this.getColumnStates(),rows:this.rows.map((t=>({values:t.blocks.map((t=>t.getValue()))}))),caption:this.caption}}getColumnStates(){return this.columns.map((t=>({type:t.blockDef.name,heading:t.headingInput.value})))}getTextLabel(t){const e=t&&t.maxLength;let n="";for(const t of this.rows)for(const i of t.blocks)if(i.getTextLabel){const t=i.getTextLabel({maxLength:e});if(t)if(n){const i=n+", "+t;if(e&&i.length>e-1)return n.endsWith("…")||(n+="…"),n;n=i}else n=t}return n}focus(t){this.columns.length?this.rows.length?this.rows[0].blocks[0].focus(t):this.addRowButton.focus():this.appendColumnButton.focus()}}window.telepath.register("wagtail.contrib.typed_table_block.blocks.TypedTableBlock",class{constructor(t,e,n,i){this.name=t,this.childBlockDefs=e,this.childBlockDefaultStates=n,this.meta=i}render(t,e,n,i){return new l(this,t,e,n,i)}})}},n={};function i(t){var o=n[t];if(void 0!==o)return o.exports;var s=n[t]={exports:{}};return e[t](s,s.exports,i),s.exports}i.m=e,t=[],i.O=(e,n,o,s)=>{if(!n){var l=1/0;for(c=0;c<t.length;c++){for(var[n,o,s]=t[c],a=!0,d=0;d<n.length;d++)(!1&s||l>=s)&&Object.keys(i.O).every((t=>i.O[t](n[d])))?n.splice(d--,1):(a=!1,s<l&&(l=s));if(a){t.splice(c--,1);var u=o();void 0!==u&&(e=u)}}return e}s=s||0;for(var c=t.length;c>0&&t[c-1][2]>s;c--)t[c]=t[c-1];t[c]=[n,o,s]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.j=702,(()=>{var t={702:0};i.O.j=e=>0===t[e];var e=(e,n)=>{var o,s,[l,a,d]=n,u=0;if(l.some((e=>0!==t[e]))){for(o in a)i.o(a,o)&&(i.m[o]=a[o]);if(d)var c=d(i)}for(e&&e(n);u<l.length;u++)s=l[u],i.o(t,s)&&t[s]&&t[s][0](),t[s]=0;return i.O(c)},n=globalThis.webpackChunkwagtail=globalThis.webpackChunkwagtail||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))})();var o=i.O(void 0,[321],(()=>i(7595)));o=i.O(o)})();
1
+ (()=>{"use strict";var t,e={7595:(t,e,n)=>{var i=n(4327),o=n(9675),s=n(4545);class l{constructor(t,e,n,o,s){this.blockDef=t,this.type=t.name,this.caption="",this.columns=[],this.rows=[],this.columnCountIncludingDeleted=0,this.rowCountIncludingDeleted=0,this.prefix=n,this.childBlockDefsByName={},this.blockDef.childBlockDefs.forEach(t=>{this.childBlockDefsByName[t.name]=t});const l=this.blockDef.meta.strings,a=`${(0,i.Z)(n)}-caption`,d=$(`\n <div class="typed-table-block ${(0,i.Z)(this.blockDef.meta.classname||"")}">\n <div class="w-field__wrapper" data-field-wrapper>\n <label class="w-field__label" for="${a}">\n ${l.CAPTION}\n </label>\n <div class="w-field w-field--char_field w-field--text_input" data-field>\n <div class="w-field__help" data-field-help>\n <div class="help">\n ${l.CAPTION_HELP_TEXT}\n </div>\n </div>\n <div class="w-field__input" data-field-input>\n <input type="text" id="${a}" name="${a}" value="" />\n <span></span>\n </div>\n </div>\n </div>\n <input type="hidden" name="${(0,i.Z)(n)}-column-count" data-column-count value="0">\n <input type="hidden" name="${(0,i.Z)(n)}-row-count" data-row-count value="0">\n <div data-deleted-fields></div>\n <div class="typed-table-block__wrapper">\n <table>\n <thead>\n <tr>\n <th aria-hidden="true"></th>\n <th class="control-cell">\n <button type="button" class="button button-small button-secondary append-column" aria-expanded="false" data-append-column>\n ${(0,i.Z)(l.ADD_COLUMN)}\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n </tbody>\n <tfoot>\n <tr>\n <td class="control-cell">\n <button\n type="button"\n class="button button-small button-secondary button--icon text-replace prepend-row"\n data-add-row\n aria-label="${(0,i.Z)(l.ADD_ROW)}"\n title="${(0,i.Z)(l.ADD_ROW)}"\n >\n <svg class="icon icon-plus icon" aria-hidden="true">\n <use href="#icon-plus"></use>\n </svg>\n </button></td>\n </tr>\n </tfoot>\n </table>\n </div>\n </div>\n `);$(e).replaceWith(d),this.container=d,this.captionInput=d.find(`#${a}`).get(0),this.thead=d.find("table > thead").get(0),this.tbody=d.find("table > tbody").get(0),this.columnCountInput=d.find("input[data-column-count]").get(0),this.rowCountInput=d.find("input[data-row-count]").get(0),this.deletedFieldsContainer=d.find("[data-deleted-fields]").get(0),this.appendColumnButton=d.find("button[data-append-column]"),this.addRowButton=d.find("button[data-add-row]"),this.addRowButton.hide(),this.blockDef.meta.helpText&&d.append(`\n <div class="c-sf-help">\n <div class="help">\n ${this.blockDef.meta.helpText}\n </div>\n </div>\n `),this.addColumnCallback=null,this.addColumnMenu=$('<ul class="add-column-menu"></ul>'),this.blockDef.childBlockDefs.forEach(t=>{const e=$('<button type="button" class="button button-small"></button>').text(t.meta.label);e.on("click",()=>{this.addColumnCallback&&this.addColumnCallback(t),this.hideAddColumnMenu(this.addColumnMenuTrigger)});const n=$("<li></li>").append(e);this.addColumnMenu.append(n)}),this.addColumnMenuTrigger=null,this.appendColumnButton.on("click",()=>{this.toggleAddColumnMenu(this.appendColumnButton,t=>{this.insertColumn(this.columns.length,t,{addInitialRow:!0})})}),this.addRowButton.on("click",()=>{this.insertRow(this.rows.length)}),this.setState(o),s&&this.setError(s)}showAddColumnMenu(t,e){this.addColumnMenuTrigger?.attr("aria-expanded","false"),this.addColumnMenuTrigger=t,t.after(this.addColumnMenu),t.attr("aria-expanded","true"),this.addColumnMenu.show(),this.addColumnCallback=e}hideAddColumnMenu(t){t.attr("aria-expanded","false"),this.addColumnMenu.hide(),this.addColumnMenuTrigger=null}toggleAddColumnMenu(t,e){this.addColumnMenuTrigger===t?this.hideAddColumnMenu(t):this.showAddColumnMenu(t,e)}clear(){this.setCaption(""),this.columns=[],this.rows=[],this.columnCountIncludingDeleted=0,this.columnCountInput.value=0,this.rowCountIncludingDeleted=0,this.rowCountInput.value=0,this.deletedFieldsContainer.replaceChildren();const t=this.thead.children[0];t.replaceChildren(t.firstElementChild,t.lastElementChild),this.appendColumnButton.text(this.blockDef.meta.strings.ADD_COLUMN).removeClass("button--icon text-replace white").removeAttr("aria-label").removeAttr("title"),this.tbody.replaceChildren(),this.addRowButton.hide()}setCaption(t){this.caption=t,this.captionInput.value=t}insertColumn(t,e,n){const s={blockDef:e,position:t,id:this.columnCountIncludingDeleted};this.columnCountIncludingDeleted+=1,(0,o.y)(t,this.columns.length).forEach(t=>{this.columns[t].position+=1,this.columns[t].positionInput.value=this.columns[t].position}),this.columns.splice(t,0,s),this.columnCountInput.value=this.columnCountIncludingDeleted;const l=this.thead.children[0],a=l.children,d=document.createElement("th");l.insertBefore(d,a[t+1]),s.typeInput=document.createElement("input"),s.typeInput.type="hidden",s.typeInput.name=this.prefix+"-column-"+s.id+"-type",s.typeInput.value=e.name,d.appendChild(s.typeInput),s.positionInput=document.createElement("input"),s.positionInput.type="hidden",s.positionInput.name=this.prefix+"-column-"+s.id+"-order",s.positionInput.value=t,d.appendChild(s.positionInput),s.deletedInput=document.createElement("input"),s.deletedInput.type="hidden",s.deletedInput.name=this.prefix+"-column-"+s.id+"-deleted",s.deletedInput.value="",this.deletedFieldsContainer.appendChild(s.deletedInput);const u=$(`<button type="button"\n class="button button-secondary button-small button--icon text-replace prepend-column"\n aria-label="${(0,i.Z)(this.blockDef.meta.strings.INSERT_COLUMN)}"\n aria-expanded="false"\n title="${(0,i.Z)(this.blockDef.meta.strings.INSERT_COLUMN)}">\n <svg class="icon icon-plus icon" aria-hidden="true"><use href="#icon-plus"></use></svg>\n </button>`);$(d).append(u),u.on("click",()=>{this.toggleAddColumnMenu(u,t=>{this.insertColumn(s.position,t,{addInitialRow:!0})})}),s.headingInput=document.createElement("input"),s.headingInput.type="text",s.headingInput.name=this.prefix+"-column-"+s.id+"-heading",s.headingInput.className="column-heading",s.headingInput.placeholder=this.blockDef.meta.strings.COLUMN_HEADING,d.appendChild(s.headingInput);const c=$(`<button type="button"\n class="button button-secondary button-small button--icon text-replace no delete-column"\n aria-label="${(0,i.Z)(this.blockDef.meta.strings.DELETE_COLUMN)}"\n title="${(0,i.Z)(this.blockDef.meta.strings.DELETE_COLUMN)}">\n <svg class="icon icon-bin icon" aria-hidden="true"><use href="#icon-bin"></use></svg>\n </button>`);$(d).append(c),c.on("click",()=>{this.deleteColumn(s.position)});const r=this.blockDef.childBlockDefaultStates[e.name];return Array.from(this.tbody.children).forEach((e,n)=>{const i=this.rows[n],o=e.children,l=document.createElement("td");e.insertBefore(l,o[t+1]);const a=this.initCell(l,s,i,r);i.blocks.splice(t,0,a)}),this.addRowButton.show(),this.appendColumnButton.html('<svg class="icon icon-plus icon" aria-hidden="true"><use href="#icon-plus"></use></svg>').addClass("button--icon text-replace white").attr("aria-label",this.blockDef.meta.strings.ADD_COLUMN).attr("aria-expanded","false").attr("title",this.blockDef.meta.strings.ADD_COLUMN),n&&n.addInitialRow&&0===this.tbody.children.length&&this.insertRow(0),s}deleteColumn(t){this.columns[t].deletedInput.value="1";const e=this.thead.children[0],n=e.children;e.removeChild(n[t+1]),Array.from(this.tbody.children).forEach((e,n)=>{const i=e.children;e.removeChild(i[t+1]),this.rows[n].blocks.splice(t,1)}),this.columns.splice(t,1),(0,o.y)(t,this.columns.length).forEach(t=>{this.columns[t].position-=1,this.columns[t].positionInput.value=this.columns[t].position}),0===this.columns.length&&this.clear()}insertRow(t,e){const n=document.createElement("tr"),s={blocks:[],position:t,id:this.rowCountIncludingDeleted};if(t<this.rows.length){const e=this.tbody.children[t];this.tbody.insertBefore(n,e)}else this.tbody.appendChild(n);this.rows.splice(t,0,s),this.rowCountIncludingDeleted+=1,this.rowCountInput.value=this.rowCountIncludingDeleted;const l=document.createElement("td");l.className="control-cell",n.appendChild(l);const a=$(`<button type="button"\n class="button button-secondary button-small button--icon text-replace prepend-row"\n aria-label="${(0,i.Z)(this.blockDef.meta.strings.INSERT_ROW)}"\n title="${(0,i.Z)(this.blockDef.meta.strings.INSERT_ROW)}">\n <svg class="icon icon-plus icon" aria-hidden="true"><use href="#icon-plus"></use></svg>\n </button>`);$(l).append(a),a.on("click",()=>{this.insertRow(s.position)}),this.columns.forEach((t,i)=>{let o;o=e?e[i]:this.blockDef.childBlockDefaultStates[t.blockDef.name];const l=document.createElement("td");n.appendChild(l),s.blocks[i]=this.initCell(l,t,s,o)});const d=document.createElement("td");d.className="control-cell",n.appendChild(d),s.positionInput=document.createElement("input"),s.positionInput.type="hidden",s.positionInput.name=this.prefix+"-row-"+s.id+"-order",s.positionInput.value=s.position,d.appendChild(s.positionInput);const u=$(`<button type="button"\n class="button button-secondary button-small button--icon text-replace no delete-row"\n aria-label="${(0,i.Z)(this.blockDef.meta.strings.DELETE_ROW)}"\n title="${(0,i.Z)(this.blockDef.meta.strings.DELETE_ROW)}">\n <svg class="icon icon-bin icon" aria-hidden="true"><use href="#icon-bin"></use></svg>\n </button>`);return $(d).append(u),u.on("click",()=>{this.deleteRow(s.position)}),s.deletedInput=document.createElement("input"),s.deletedInput.type="hidden",s.deletedInput.name=this.prefix+"-row-"+s.id+"-deleted",s.deletedInput.value="",this.deletedFieldsContainer.appendChild(s.deletedInput),(0,o.y)(t+1,this.rows.length).forEach(t=>{this.rows[t].position+=1,this.rows[t].positionInput.value=this.rows[t].position}),s}deleteRow(t){this.rows[t].deletedInput.value="1";const e=this.tbody.children[t];this.tbody.removeChild(e),this.rows.splice(t,1),(0,o.y)(t,this.rows.length).forEach(t=>{this.rows[t].position-=1,this.rows[t].positionInput.value=this.rows[t].position})}initCell(t,e,n,i){const o=document.createElement("div");t.appendChild(o);const s=this.prefix+"-cell-"+n.id+"-"+e.id;return e.blockDef.render(o,s,i,null)}setState(t){this.clear(),t&&(t.columns.forEach((t,e)=>{const n=this.childBlockDefsByName[t.type];this.insertColumn(e,n).headingInput.value=t.heading}),t.rows.forEach((t,e)=>{this.insertRow(e,t.values)}),this.setCaption(t.caption))}setError(t){if(!t)return;const e=this.container[0];if((0,s.$)(e),t.messages&&(0,s.U)(e,t.messages),t.blockErrors)for(const[e,n]of Object.entries(t.blockErrors))for(const[t,i]of Object.entries(n))this.rows[e].blocks[t].setError(i)}getState(){return{columns:this.getColumnStates(),rows:this.rows.map(t=>({values:t.blocks.map(t=>t.getState())})),caption:this.caption}}getDuplicatedState(){return{columns:this.getColumnStates(),rows:this.rows.map(t=>({values:t.blocks.map(t=>void 0===t.getDuplicatedState?t.getState():t.getDuplicatedState())}))}}getValue(){return{columns:this.getColumnStates(),rows:this.rows.map(t=>({values:t.blocks.map(t=>t.getValue())})),caption:this.caption}}getColumnStates(){return this.columns.map(t=>({type:t.blockDef.name,heading:t.headingInput.value}))}getTextLabel(t){const e=t&&t.maxLength;let n="";for(const t of this.rows)for(const i of t.blocks)if(i.getTextLabel){const t=i.getTextLabel({maxLength:e});if(t)if(n){const i=n+", "+t;if(e&&i.length>e-1)return n.endsWith("…")||(n+="…"),n;n=i}else n=t}return n}focus(t){this.columns.length?this.rows.length?this.rows[0].blocks[0].focus(t):this.addRowButton.focus():this.appendColumnButton.focus()}}window.telepath.register("wagtail.contrib.typed_table_block.blocks.TypedTableBlock",class{constructor(t,e,n,i){this.name=t,this.childBlockDefs=e,this.childBlockDefaultStates=n,this.meta=i}render(t,e,n,i){return new l(this,t,e,n,i)}})}},n={};function i(t){var o=n[t];if(void 0!==o)return o.exports;var s=n[t]={exports:{}};return e[t](s,s.exports,i),s.exports}i.m=e,t=[],i.O=(e,n,o,s)=>{if(!n){var l=1/0;for(c=0;c<t.length;c++){for(var[n,o,s]=t[c],a=!0,d=0;d<n.length;d++)(!1&s||l>=s)&&Object.keys(i.O).every(t=>i.O[t](n[d]))?n.splice(d--,1):(a=!1,s<l&&(l=s));if(a){t.splice(c--,1);var u=o();void 0!==u&&(e=u)}}return e}s=s||0;for(var c=t.length;c>0&&t[c-1][2]>s;c--)t[c]=t[c-1];t[c]=[n,o,s]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.j=702,(()=>{var t={702:0};i.O.j=e=>0===t[e];var e=(e,n)=>{var o,s,[l,a,d]=n,u=0;if(l.some(e=>0!==t[e])){for(o in a)i.o(a,o)&&(i.m[o]=a[o]);if(d)var c=d(i)}for(e&&e(n);u<l.length;u++)s=l[u],i.o(t,s)&&t[s]&&t[s][0](),t[s]=0;return i.O(c)},n=globalThis.webpackChunkwagtail=globalThis.webpackChunkwagtail||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))})();var o=i.O(void 0,[321],()=>i(7595));o=i.O(o)})();
wagtail/coreutils.py CHANGED
@@ -5,7 +5,7 @@ import re
5
5
  import unicodedata
6
6
  from collections.abc import Iterable
7
7
  from hashlib import md5
8
- from typing import TYPE_CHECKING, Any, List, Optional, Union
8
+ from typing import TYPE_CHECKING, Any
9
9
 
10
10
  from anyascii import anyascii
11
11
  from django.apps import apps
@@ -527,7 +527,7 @@ class BatchCreator(BatchProcessor):
527
527
  if self.max_size and len(self.items) == self.max_size:
528
528
  self.process()
529
529
 
530
- def extend(self, iterable: Iterable[Union[Model, dict[str, Any]]]) -> None:
530
+ def extend(self, iterable: Iterable[Model | dict[str, Any]]) -> None:
531
531
  for value in iterable:
532
532
  if isinstance(value, self.model):
533
533
  self.add(instance=value)
@@ -563,9 +563,9 @@ def make_wagtail_template_fragment_key(fragment_name, page, site, vary_on=None):
563
563
 
564
564
 
565
565
  def get_js_regex(
566
- regex: Optional[Union[re.Pattern, str, bytes]] = None,
567
- base_js_flags: Optional[str] = "gu",
568
- ) -> List[str]:
566
+ regex: re.Pattern | str | bytes | None = None,
567
+ base_js_flags: str | None = "gu",
568
+ ) -> list[str]:
569
569
  """
570
570
  Converts a Python regex (or pattern string) to an array of
571
571
  JavaScript regex params list, that can be used for ``new RegExp(..._)``.
@@ -38,6 +38,12 @@ class BaseDocumentForm(BaseCollectionMemberForm):
38
38
  def __init__(self, *args, **kwargs):
39
39
  super().__init__(*args, **kwargs)
40
40
  self.original_file = self.instance.file
41
+ # Dynamically set sync value target to the id of the file input rather
42
+ # than hardcoding it
43
+ if "title" in self.fields and "file" in self.fields:
44
+ self.fields["file"].widget.attrs["data-w-sync-target-value"] = (
45
+ f"#{self['title'].id_for_label}"
46
+ )
41
47
 
42
48
  def save(self, commit=True):
43
49
  if "file" in self.changed_data:
@@ -60,7 +66,18 @@ class BaseDocumentForm(BaseCollectionMemberForm):
60
66
  return self.instance
61
67
 
62
68
  class Meta:
63
- widgets = {"tags": AdminTagWidget, "file": forms.FileInput()}
69
+ widgets = {
70
+ "tags": AdminTagWidget,
71
+ "file": forms.FileInput(
72
+ attrs={
73
+ "data-controller": "w-sync",
74
+ "data-action": "change->w-sync#apply",
75
+ "data-w-sync-bubbles-param": "true",
76
+ "data-w-sync-name-value": "wagtail:documents-upload",
77
+ "data-w-sync-normalize-value": "true",
78
+ }
79
+ ),
80
+ }
64
81
 
65
82
  def clean_tags(self):
66
83
  tags = self.cleaned_data["tags"]
@@ -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: 2025-07-24 16:20+0200\n"
10
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
11
11
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Afrikaans (http://app.transifex.com/torchbox/wagtail/language/"
@@ -16,7 +16,7 @@ msgid ""
16
16
  msgstr ""
17
17
  "Project-Id-Version: Wagtail\n"
18
18
  "Report-Msgid-Bugs-To: \n"
19
- "POT-Creation-Date: 2025-07-24 16:20+0200\n"
19
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
20
20
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
21
21
  "Last-Translator: Abdullah Bamuhrez <bamuhrez@gmail.com>, 2025\n"
22
22
  "Language-Team: Arabic (http://app.transifex.com/torchbox/wagtail/language/"
@@ -404,10 +404,6 @@ msgstr "تعذر حفظ المستند بسبب أخطاء."
404
404
  msgid "Document '%(document_title)s' updated"
405
405
  msgstr "تم تحديث المستند '%(document_title)s'"
406
406
 
407
- msgid ""
408
- "The file could not be found. Please change the source or delete the document"
409
- msgstr "تعذر العثور على الملف. الرجاء تغيير المصدر أو حذف المستند."
410
-
411
407
  msgid "Delete document"
412
408
  msgstr "حذف مستند"
413
409
 
@@ -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: 2025-07-24 16:20+0200\n"
10
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
11
11
  "PO-Revision-Date: 2014-02-20 21:06+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: 2025-07-24 16:20+0200\n"
12
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
13
13
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
14
14
  "Last-Translator: Tatsiana Tsygan <art.tatsiana@gmail.com>, 2020\n"
15
15
  "Language-Team: Belarusian (http://app.transifex.com/torchbox/wagtail/"
@@ -203,10 +203,6 @@ msgstr "Дакумент на можа быць захаваны з-за пам
203
203
  msgid "Document '%(document_title)s' updated"
204
204
  msgstr "Дакумент '%(document_title)s' абноўлены"
205
205
 
206
- msgid ""
207
- "The file could not be found. Please change the source or delete the document"
208
- msgstr "Файл не знойдзены. Калі ласка, змяніце крыніцу ці выдаліце дакумент."
209
-
210
206
  msgid "Delete document"
211
207
  msgstr "Выдаліць дакумент"
212
208
 
@@ -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: 2025-07-24 16:20+0200\n"
11
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
12
12
  "PO-Revision-Date: 2014-02-20 21:06+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: 2025-07-24 16:20+0200\n"
10
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
11
11
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: Bengali (http://app.transifex.com/torchbox/wagtail/language/"
@@ -6,14 +6,14 @@
6
6
  # David Llop, 2014
7
7
  # David Llop, 2014
8
8
  # Matt Westcott <matthew@torchbox.com>, 2024
9
- # Roger Pons <rogerpons@gmail.com>, 2017,2022-2024
9
+ # Roger Pons <rogerpons@gmail.com>, 2017,2022-2025
10
10
  msgid ""
11
11
  msgstr ""
12
12
  "Project-Id-Version: Wagtail\n"
13
13
  "Report-Msgid-Bugs-To: \n"
14
- "POT-Creation-Date: 2025-07-24 16:20+0200\n"
14
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
15
15
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
16
- "Last-Translator: Matt Westcott <matthew@torchbox.com>, 2024\n"
16
+ "Last-Translator: Roger Pons <rogerpons@gmail.com>, 2017,2022-2025\n"
17
17
  "Language-Team: Catalan (http://app.transifex.com/torchbox/wagtail/language/"
18
18
  "ca/)\n"
19
19
  "MIME-Version: 1.0\n"
@@ -342,8 +342,8 @@ msgid "Document '%(document_title)s' updated"
342
342
  msgstr "Document '%(document_title)s' actualitzat"
343
343
 
344
344
  msgid ""
345
- "The file could not be found. Please change the source or delete the document"
346
- msgstr "No s'ha trobat el fitxer. Canvieu l'origen o elimineu el document."
345
+ "The file could not be found. Please change the source or delete the document."
346
+ msgstr "No s'ha trobat el fitxer. Canvieu la font o suprimiu el document."
347
347
 
348
348
  msgid "Delete document"
349
349
  msgstr "Esborra el document"
@@ -17,7 +17,7 @@ msgid ""
17
17
  msgstr ""
18
18
  "Project-Id-Version: Wagtail\n"
19
19
  "Report-Msgid-Bugs-To: \n"
20
- "POT-Creation-Date: 2025-07-24 16:20+0200\n"
20
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
21
21
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
22
22
  "Last-Translator: Vláďa Macek <macek@sandbox.cz>, 2021\n"
23
23
  "Language-Team: Czech (http://app.transifex.com/torchbox/wagtail/language/"
@@ -219,12 +219,6 @@ msgstr "Dokument nelze uložit, zkontrolujte správné vyplnění polí."
219
219
  msgid "Document '%(document_title)s' updated"
220
220
  msgstr "Dokument '%(document_title)s' byl upraven"
221
221
 
222
- msgid ""
223
- "The file could not be found. Please change the source or delete the document"
224
- msgstr ""
225
- "Zdrojový soubor dokumentu není možné nalézt. Prosím změňte zdroj nebo "
226
- "dokument smažte."
227
-
228
222
  msgid "Delete document"
229
223
  msgstr "Smazat dokument"
230
224
 
@@ -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: 2025-07-24 16:20+0200\n"
12
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
13
13
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
14
14
  "Last-Translator: Philip Crisp, 2022\n"
15
15
  "Language-Team: Welsh (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: 2025-07-24 16:20+0200\n"
12
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
13
13
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
14
14
  "Last-Translator: MRostgaard <Mrostgaard@gmail.com>, 2019\n"
15
15
  "Language-Team: Danish (http://app.transifex.com/torchbox/wagtail/language/"
@@ -30,7 +30,7 @@ msgid ""
30
30
  msgstr ""
31
31
  "Project-Id-Version: Wagtail\n"
32
32
  "Report-Msgid-Bugs-To: \n"
33
- "POT-Creation-Date: 2025-07-24 16:20+0200\n"
33
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
34
34
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
35
35
  "Last-Translator: 79353a696ad19dc202b261b3067b7640_bec941e, 2015\n"
36
36
  "Language-Team: German (http://app.transifex.com/torchbox/wagtail/language/"
@@ -361,12 +361,6 @@ msgstr "Aufgrund eines Fehlers konnte das Dokument nicht gespeichert werden."
361
361
  msgid "Document '%(document_title)s' updated"
362
362
  msgstr "Dokument ‚%(document_title)s‘ aktualisiert"
363
363
 
364
- msgid ""
365
- "The file could not be found. Please change the source or delete the document"
366
- msgstr ""
367
- "Die Datei konnte nicht gefunden werden. Bitte ändern Sie die Quelle oder "
368
- "löschen Sie das Dokument "
369
-
370
364
  msgid "Delete document"
371
365
  msgstr "Dokument löschen"
372
366
 
@@ -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: 2025-07-24 16:20+0200\n"
12
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
13
13
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
14
14
  "Last-Translator: Fauzaan Gasim, 2024\n"
15
15
  "Language-Team: Divehi (http://app.transifex.com/torchbox/wagtail/language/"
@@ -19,7 +19,7 @@ msgid ""
19
19
  msgstr ""
20
20
  "Project-Id-Version: Wagtail\n"
21
21
  "Report-Msgid-Bugs-To: \n"
22
- "POT-Creation-Date: 2025-07-24 16:20+0200\n"
22
+ "POT-Creation-Date: 2025-10-23 16:45+0100\n"
23
23
  "PO-Revision-Date: 2014-02-20 21:06+0000\n"
24
24
  "Last-Translator: 79353a696ad19dc202b261b3067b7640_bec941e, 2015\n"
25
25
  "Language-Team: Greek (http://app.transifex.com/torchbox/wagtail/language/"
@@ -199,12 +199,6 @@ msgstr "Δεν ήταν δυνατή η αποθήκευση του εγγράφ
199
199
  msgid "Document '%(document_title)s' updated"
200
200
  msgstr "Έγινε διόρθωση του εγγράφου '%(document_title)s'"
201
201
 
202
- msgid ""
203
- "The file could not be found. Please change the source or delete the document"
204
- msgstr ""
205
- "Το αρχείο δεν μπορεσε να βρεθεί. Παρακαλούμε να αλλάξετε την πηγή ή να "
206
- "διαγράψετε το έγγραφο"
207
-
208
202
  msgid "Delete document"
209
203
  msgstr "Διαγραφή εγγράφου"
210
204