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.
- wagtail/__init__.py +1 -1
- wagtail/actions/copy_page.py +1 -1
- wagtail/actions/create_alias.py +1 -1
- wagtail/actions/delete_page.py +1 -1
- wagtail/actions/publish_page_revision.py +1 -1
- wagtail/actions/publish_revision.py +1 -1
- wagtail/actions/revert_to_page_revision.py +1 -1
- wagtail/actions/unpublish.py +1 -1
- wagtail/actions/unpublish_page.py +1 -1
- wagtail/admin/auth.py +3 -1
- wagtail/admin/checks.py +2 -2
- wagtail/admin/filters.py +28 -1
- wagtail/admin/forms/collections.py +1 -1
- wagtail/admin/forms/comments.py +1 -1
- wagtail/admin/forms/models.py +1 -1
- wagtail/admin/forms/pages.py +1 -1
- wagtail/admin/forms/tags.py +1 -1
- wagtail/admin/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ar/LC_MESSAGES/django.po +44 -89
- wagtail/admin/locale/az_AZ/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/az_AZ/LC_MESSAGES/django.po +4 -7
- wagtail/admin/locale/be/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/be/LC_MESSAGES/django.po +15 -42
- wagtail/admin/locale/bg/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/bg/LC_MESSAGES/django.po +7 -16
- wagtail/admin/locale/bn/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/bn/LC_MESSAGES/django.po +4 -13
- wagtail/admin/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ca/LC_MESSAGES/django.po +159 -74
- wagtail/admin/locale/ca/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/ca/LC_MESSAGES/djangojs.po +11 -0
- wagtail/admin/locale/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/cs/LC_MESSAGES/django.po +40 -50
- wagtail/admin/locale/cy/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/cy/LC_MESSAGES/django.po +6 -13
- wagtail/admin/locale/da/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/da/LC_MESSAGES/django.po +10 -22
- wagtail/admin/locale/de/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/de/LC_MESSAGES/django.po +42 -93
- wagtail/admin/locale/dv/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/dv/LC_MESSAGES/django.po +26 -64
- wagtail/admin/locale/el/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/el/LC_MESSAGES/django.po +9 -31
- wagtail/admin/locale/en/LC_MESSAGES/django.po +278 -192
- wagtail/admin/locale/en/LC_MESSAGES/djangojs.po +29 -15
- wagtail/admin/locale/es/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/es/LC_MESSAGES/django.po +17 -52
- wagtail/admin/locale/es_419/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/es_419/LC_MESSAGES/django.po +4 -22
- wagtail/admin/locale/es_VE/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/es_VE/LC_MESSAGES/django.po +4 -7
- wagtail/admin/locale/et/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/et/LC_MESSAGES/django.po +15 -42
- wagtail/admin/locale/eu/LC_MESSAGES/django.po +1 -1
- wagtail/admin/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/fa/LC_MESSAGES/django.po +12 -50
- wagtail/admin/locale/fi/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/fi/LC_MESSAGES/django.po +43 -70
- wagtail/admin/locale/fi/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/fi/LC_MESSAGES/djangojs.po +17 -0
- wagtail/admin/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/fr/LC_MESSAGES/django.po +157 -74
- wagtail/admin/locale/fr/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/fr/LC_MESSAGES/djangojs.po +11 -0
- wagtail/admin/locale/gl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/gl/LC_MESSAGES/django.po +155 -72
- wagtail/admin/locale/gl/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/gl/LC_MESSAGES/djangojs.po +11 -0
- wagtail/admin/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/he_IL/LC_MESSAGES/django.po +7 -28
- wagtail/admin/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/hr_HR/LC_MESSAGES/django.po +15 -38
- wagtail/admin/locale/ht/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/hu/LC_MESSAGES/django.po +44 -91
- wagtail/admin/locale/id_ID/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/id_ID/LC_MESSAGES/django.po +10 -31
- wagtail/admin/locale/is_IS/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/is_IS/LC_MESSAGES/django.po +41 -87
- wagtail/admin/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/it/LC_MESSAGES/django.po +34 -78
- wagtail/admin/locale/ja/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ja/LC_MESSAGES/django.po +15 -42
- wagtail/admin/locale/ka/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/ko/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ko/LC_MESSAGES/django.po +20 -57
- wagtail/admin/locale/lt/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/lt/LC_MESSAGES/django.po +12 -31
- wagtail/admin/locale/lv/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/lv/LC_MESSAGES/django.po +9 -40
- wagtail/admin/locale/mi/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/mi/LC_MESSAGES/django.po +6 -10
- wagtail/admin/locale/mn/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/mn/LC_MESSAGES/django.po +10 -43
- wagtail/admin/locale/my/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/nb/LC_MESSAGES/django.po +15 -53
- wagtail/admin/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/nl/LC_MESSAGES/django.po +208 -70
- wagtail/admin/locale/nl/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/nl/LC_MESSAGES/djangojs.po +19 -2
- wagtail/admin/locale/pl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/pl/LC_MESSAGES/django.po +27 -72
- wagtail/admin/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/pt_BR/LC_MESSAGES/django.po +38 -83
- wagtail/admin/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/pt_PT/LC_MESSAGES/django.po +17 -56
- wagtail/admin/locale/ro/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ro/LC_MESSAGES/django.po +23 -68
- wagtail/admin/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ru/LC_MESSAGES/django.po +96 -84
- wagtail/admin/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sk_SK/LC_MESSAGES/django.po +9 -28
- wagtail/admin/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sl/LC_MESSAGES/django.po +45 -90
- wagtail/admin/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sv/LC_MESSAGES/django.po +27 -72
- wagtail/admin/locale/tet/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/tet/LC_MESSAGES/django.po +12 -22
- wagtail/admin/locale/th/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/th/LC_MESSAGES/django.po +10 -42
- wagtail/admin/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/tr/LC_MESSAGES/django.po +64 -70
- wagtail/admin/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/tr_TR/LC_MESSAGES/django.po +15 -42
- wagtail/admin/locale/ug/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ug/LC_MESSAGES/django.po +38 -83
- wagtail/admin/locale/uk/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/uk/LC_MESSAGES/django.po +15 -45
- wagtail/admin/locale/vi/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/vi/LC_MESSAGES/django.po +4 -17
- wagtail/admin/locale/zh/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/zh/LC_MESSAGES/django.po +7 -19
- wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.po +17 -54
- wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.po +15 -37
- wagtail/admin/static/wagtailadmin/css/core.css +1 -1
- wagtail/admin/static/wagtailadmin/js/bulk-actions.js +1 -1
- wagtail/admin/static/wagtailadmin/js/chooser-modal.js +1 -1
- wagtail/admin/static/wagtailadmin/js/chooser-widget-telepath.js +1 -1
- wagtail/admin/static/wagtailadmin/js/chooser-widget.js +1 -1
- wagtail/admin/static/wagtailadmin/js/comments.js +1 -1
- wagtail/admin/static/wagtailadmin/js/core.js +1 -1
- wagtail/admin/static/wagtailadmin/js/core.js.LICENSE.txt +2 -2
- wagtail/admin/static/wagtailadmin/js/date-time-chooser.js +1 -1
- wagtail/admin/static/wagtailadmin/js/draftail.js +1 -1
- wagtail/admin/static/wagtailadmin/js/filtered-select.js +1 -1
- wagtail/admin/static/wagtailadmin/js/icons.js +1 -1
- wagtail/admin/static/wagtailadmin/js/modal-workflow.js +1 -1
- wagtail/admin/static/wagtailadmin/js/page-chooser-modal.js +1 -1
- wagtail/admin/static/wagtailadmin/js/page-chooser-telepath.js +1 -1
- wagtail/admin/static/wagtailadmin/js/page-chooser.js +1 -1
- wagtail/admin/static/wagtailadmin/js/privacy-switch.js +1 -1
- wagtail/admin/static/wagtailadmin/js/sidebar.js +1 -1
- wagtail/admin/static/wagtailadmin/js/task-chooser-modal.js +1 -1
- wagtail/admin/static/wagtailadmin/js/task-chooser.js +1 -1
- wagtail/admin/static/wagtailadmin/js/telepath/blocks.js +1 -1
- wagtail/admin/static/wagtailadmin/js/telepath/telepath.js +1 -1
- wagtail/admin/static/wagtailadmin/js/telepath/widgets.js +1 -1
- wagtail/admin/static/wagtailadmin/js/userbar.js +1 -1
- wagtail/admin/static/wagtailadmin/js/userbar.js.LICENSE.txt +2 -2
- wagtail/admin/static/wagtailadmin/js/vendor/bootstrap-modal.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor/bootstrap-transition.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor/jquery-3.6.0.min.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor/jquery-ui-1.13.2.min.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor/jquery.datetimepicker.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor/jquery.fileupload-process.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor/jquery.fileupload.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor/jquery.iframe-transport.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor/tag-it.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor.js.LICENSE.txt +1 -1
- wagtail/admin/static/wagtailadmin/js/wagtailadmin.js +1 -1
- wagtail/admin/static/wagtailadmin/js/workflow-action.js +1 -1
- wagtail/admin/templates/wagtailadmin/account/account.html +2 -0
- wagtail/admin/templates/wagtailadmin/base.html +14 -0
- wagtail/admin/templates/wagtailadmin/generic/chooser/chooser.html +2 -1
- wagtail/admin/templates/wagtailadmin/generic/chooser/creation_form.html +2 -1
- wagtail/admin/templates/wagtailadmin/panels/multi_field_panel_child.html +1 -1
- wagtail/admin/templates/wagtailadmin/panels/object_list.html +1 -1
- wagtail/admin/templates/wagtailadmin/panels/tabbed_interface.html +3 -2
- wagtail/admin/templates/wagtailadmin/shared/formatted_field.html +1 -1
- wagtail/admin/templates/wagtailadmin/shared/forms/single_checkbox.html +1 -1
- wagtail/admin/templates/wagtailadmin/shared/keyboard_shortcuts_dialog.html +19 -0
- wagtail/admin/templates/wagtailadmin/shared/panel.html +1 -1
- wagtail/admin/templates/wagtailadmin/shared/set_privacy.html +15 -0
- wagtail/admin/templates/wagtailadmin/shared/side_panels/checks.html +28 -1
- wagtail/admin/templates/wagtailadmin/shared/workflow_history/detail.html +2 -2
- wagtail/admin/templates/wagtailadmin/{pages/listing/_ordering_header.html → tables/ordering_header.html} +2 -2
- wagtail/admin/templates/wagtailadmin/tables/title_cell.html +1 -1
- wagtail/admin/templates/wagtailadmin/widgets/{daterange_input.html → range_input.html} +1 -1
- wagtail/admin/templates/wagtailadmin/workflows/task_chooser/chooser.html +4 -2
- wagtail/admin/templatetags/wagtailadmin_tags.py +41 -22
- wagtail/admin/tests/api/test_pages.py +7 -7
- wagtail/admin/tests/api/test_renderer_classes.py +16 -0
- wagtail/admin/tests/pages/test_create_page.py +42 -2
- wagtail/admin/tests/pages/test_edit_page.py +128 -14
- wagtail/admin/tests/pages/test_explorer_view.py +34 -7
- wagtail/admin/tests/pages/test_reorder_page.py +11 -0
- wagtail/admin/tests/test_collections_views.py +12 -0
- wagtail/admin/tests/test_edit_handlers.py +3 -3
- wagtail/admin/tests/test_filters.py +2 -2
- wagtail/admin/tests/test_keyboard_shortcuts.py +52 -2
- wagtail/admin/tests/test_menu.py +0 -2
- wagtail/admin/tests/test_privacy.py +16 -16
- wagtail/admin/tests/test_templatetags.py +137 -0
- wagtail/admin/tests/test_workflows.py +34 -0
- wagtail/admin/tests/viewsets/test_model_viewset.py +322 -0
- wagtail/admin/ui/tables/orderable.py +73 -0
- wagtail/admin/ui/tables/pages.py +3 -13
- wagtail/admin/views/collection_privacy.py +6 -2
- wagtail/admin/views/generic/__init__.py +1 -0
- wagtail/admin/views/generic/mixins.py +20 -2
- wagtail/admin/views/generic/models.py +67 -1
- wagtail/admin/views/generic/ordering.py +79 -0
- wagtail/admin/views/home.py +3 -3
- wagtail/admin/views/page_privacy.py +5 -2
- wagtail/admin/views/pages/create.py +1 -1
- wagtail/admin/views/pages/edit.py +2 -2
- wagtail/admin/views/pages/listing.py +7 -42
- wagtail/admin/views/pages/move.py +1 -1
- wagtail/admin/views/pages/ordering.py +1 -1
- wagtail/admin/viewsets/base.py +1 -1
- wagtail/admin/viewsets/model.py +49 -1
- wagtail/admin/wagtail_hooks.py +2 -1
- wagtail/admin/widgets/slug.py +10 -10
- wagtail/api/v2/serializers.py +1 -1
- wagtail/api/v2/tests/test_renderer_classes.py +32 -0
- wagtail/apps.py +2 -0
- wagtail/bin/wagtail.py +1 -1
- wagtail/contrib/forms/locale/af/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/ar/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/az_AZ/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/be/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/bg/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/bn/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/ca/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/cs/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/cy/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/da/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/de/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/dv/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/el/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/en/LC_MESSAGES/django.po +14 -14
- wagtail/contrib/forms/locale/es/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/es_419/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/et/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/eu/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/fa/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/fi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/fr/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/gl/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/he_IL/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/hr_HR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/ht/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/hu/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/hy/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/id_ID/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/is_IS/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/it/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/ja/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/ka/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/ko/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/lt/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/lv/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/mi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/mn/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/nb/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/nl/LC_MESSAGES/django.po +20 -3
- wagtail/contrib/forms/locale/pl/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/pt_PT/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/ro/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.po +19 -2
- wagtail/contrib/forms/locale/sk_SK/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/sl/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/sv/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/tet/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/th/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/tr/LC_MESSAGES/django.po +12 -2
- wagtail/contrib/forms/locale/tr_TR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/ug/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/uk/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/zh/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/frontend_cache/tests.py +4 -2
- wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/be/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/bg/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/bn/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/ca/LC_MESSAGES/django.po +9 -10
- wagtail/contrib/redirects/locale/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/cs/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/cy/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/cy/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/da/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/de/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/de/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/dv/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/el/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/en/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/en_IN/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/es/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/es/LC_MESSAGES/django.po +1 -14
- wagtail/contrib/redirects/locale/es_419/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/es_VE/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/et/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/et/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/eu/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/fi/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/fi/LC_MESSAGES/django.po +7 -11
- wagtail/contrib/redirects/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/fr/LC_MESSAGES/django.po +9 -8
- wagtail/contrib/redirects/locale/gl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/gl/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/redirects/locale/he_IL/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/hi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/hr_HR/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/ht/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/hu/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/hy/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/id_ID/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/is_IS/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/is_IS/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.po +1 -14
- wagtail/contrib/redirects/locale/ja/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/ja/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/ka/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/ko/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/lt/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/lv/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/mi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/mn/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/nb/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/nl/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/redirects/locale/pl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/pl/LC_MESSAGES/django.po +1 -14
- wagtail/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/pt_PT/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/ro/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/ro/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/ru/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/sk_SK/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/sl/LC_MESSAGES/django.po +1 -14
- wagtail/contrib/redirects/locale/sr/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/ta/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/tet/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/th/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/tr/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/tr_TR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/ug/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/ug/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/uk/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/uk/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/zh/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po +1 -13
- wagtail/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/redirects/tests/test_tmp_storages.py +20 -0
- wagtail/contrib/redirects/tmp_storages.py +1 -1
- wagtail/contrib/redirects/views.py +3 -3
- wagtail/contrib/search_promotions/locale/af/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/ar/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/az_AZ/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/be/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/be/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/bg/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/bn/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/ca/LC_MESSAGES/django.po +5 -5
- wagtail/contrib/search_promotions/locale/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/cs/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/cy/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/cy/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/da/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/de/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/de/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/dv/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/el/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/el/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/en/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/search_promotions/locale/es/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/es/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/es_419/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/et/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/et/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/eu/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/fa/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/fi/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/fi/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.po +5 -5
- wagtail/contrib/search_promotions/locale/gl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/gl/LC_MESSAGES/django.po +5 -5
- wagtail/contrib/search_promotions/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/he_IL/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/ht/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/hu/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/id_ID/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/id_ID/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/ja/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/ja/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/ka/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/ko/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/ko/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/lt/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/lt/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/lv/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/lv/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/mi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/mn/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/nb/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/nl/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/pl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/pl/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/pt_BR/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/pt_PT/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/ro/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/ro/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/ru/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/sk_SK/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/tet/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/tet/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/th/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/th/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.po +44 -10
- wagtail/contrib/search_promotions/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/tr_TR/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/ug/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/ug/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/uk/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/uk/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/zh/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/zh_Hans/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/locale/zh_Hant/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/zh_Hant/LC_MESSAGES/django.po +1 -7
- wagtail/contrib/search_promotions/static/wagtailsearchpromotions/js/query-chooser-modal.js +1 -1
- wagtail/contrib/search_promotions/views/settings.py +2 -2
- wagtail/contrib/settings/locale/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/cs/LC_MESSAGES/django.po +6 -1
- wagtail/contrib/settings/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/settings/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/nl/LC_MESSAGES/django.po +6 -2
- wagtail/contrib/settings/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/ru/LC_MESSAGES/django.po +6 -1
- wagtail/contrib/settings/tests/site_specific/test_admin.py +48 -6
- wagtail/contrib/simple_translation/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/styleguide/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/styleguide/templates/wagtailstyleguide/base.html +5 -5
- wagtail/contrib/table_block/blocks.py +1 -0
- wagtail/contrib/table_block/locale/ar/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/be/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/ca/LC_MESSAGES/django.po +6 -3
- wagtail/contrib/table_block/locale/cs/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/cy/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/de/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/dv/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/el/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/en/LC_MESSAGES/django.po +5 -1
- wagtail/contrib/table_block/locale/en_IN/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/es/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/et/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/fa/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/fi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/fr/LC_MESSAGES/django.po +6 -3
- wagtail/contrib/table_block/locale/gl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/gl/LC_MESSAGES/django.po +6 -3
- wagtail/contrib/table_block/locale/hr_HR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/ht/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/hu/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/id_ID/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/is_IS/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/it/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/ja/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/ko/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/lt/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/lv/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/mi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/mn/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/nb/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/nl/LC_MESSAGES/django.po +6 -3
- wagtail/contrib/table_block/locale/pl/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/pt_PT/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/ro/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/ru/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/sk_SK/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/sv/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/tet/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/th/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/tr/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/tr_TR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/ug/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/uk/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/static/table_block/js/table.js +1 -1
- wagtail/contrib/typed_table_block/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/typed_table_block/static/typed_table_block/js/typed_table_block.js +1 -1
- wagtail/coreutils.py +5 -5
- wagtail/documents/forms.py +18 -1
- wagtail/documents/locale/af/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ar/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/az_AZ/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/be/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/be/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/bg/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/bn/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ca/LC_MESSAGES/django.po +5 -5
- wagtail/documents/locale/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/cs/LC_MESSAGES/django.po +1 -7
- wagtail/documents/locale/cy/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/da/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/de/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/de/LC_MESSAGES/django.po +1 -7
- wagtail/documents/locale/dv/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/el/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/el/LC_MESSAGES/django.po +1 -7
- wagtail/documents/locale/en/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/es/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/es/LC_MESSAGES/django.po +1 -7
- wagtail/documents/locale/es_419/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/et/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/et/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/eu/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/fa/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/fi/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/fi/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/fr/LC_MESSAGES/django.po +5 -5
- wagtail/documents/locale/gl/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/gl/LC_MESSAGES/django.po +5 -5
- wagtail/documents/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/he_IL/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/hr_HR/LC_MESSAGES/django.po +1 -6
- wagtail/documents/locale/ht/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/hu/LC_MESSAGES/django.po +1 -7
- wagtail/documents/locale/id_ID/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/id_ID/LC_MESSAGES/django.po +1 -6
- wagtail/documents/locale/is_IS/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/is_IS/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/it/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/ja/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ja/LC_MESSAGES/django.po +1 -7
- wagtail/documents/locale/ka/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/ko/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ko/LC_MESSAGES/django.po +1 -6
- wagtail/documents/locale/lt/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/lt/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/lv/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/mi/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/mi/LC_MESSAGES/django.po +1 -7
- wagtail/documents/locale/mn/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/mn/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/nb/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/nl/LC_MESSAGES/django.po +15 -6
- wagtail/documents/locale/pl/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/pl/LC_MESSAGES/django.po +1 -6
- wagtail/documents/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/pt_BR/LC_MESSAGES/django.po +1 -7
- wagtail/documents/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/pt_PT/LC_MESSAGES/django.po +1 -6
- wagtail/documents/locale/ro/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ro/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ru/LC_MESSAGES/django.po +10 -7
- wagtail/documents/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/sk_SK/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/sl/LC_MESSAGES/django.po +1 -7
- wagtail/documents/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/sv/LC_MESSAGES/django.po +1 -6
- wagtail/documents/locale/tet/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/th/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/th/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/tr/LC_MESSAGES/django.po +13 -5
- wagtail/documents/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/tr_TR/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/ug/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ug/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/uk/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/uk/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/zh/LC_MESSAGES/django.po +1 -1
- wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.po +1 -5
- wagtail/documents/locale/zh_Hant/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/zh_Hant/LC_MESSAGES/django.po +1 -5
- wagtail/documents/models.py +1 -1
- wagtail/documents/static/wagtaildocs/js/add-multiple.js +1 -1
- wagtail/documents/static/wagtaildocs/js/document-chooser-modal.js +1 -1
- wagtail/documents/static/wagtaildocs/js/document-chooser-telepath.js +1 -1
- wagtail/documents/static/wagtaildocs/js/document-chooser.js +1 -1
- wagtail/documents/templates/wagtaildocs/documents/add.html +0 -34
- wagtail/documents/tests/test_admin_views.py +132 -26
- wagtail/documents/tests/test_collection_privacy.py +18 -4
- wagtail/documents/tests/test_form_overrides.py +1 -1
- wagtail/documents/tests/test_search.py +21 -8
- wagtail/documents/views/documents.py +1 -1
- wagtail/embeds/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/embeds/static/wagtailembeds/js/embed-chooser-modal.js +1 -1
- wagtail/images/forms.py +16 -1
- wagtail/images/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/ar/LC_MESSAGES/django.po +7 -10
- wagtail/images/locale/az_AZ/LC_MESSAGES/django.po +1 -1
- wagtail/images/locale/be/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/bg/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/bn/LC_MESSAGES/django.po +1 -1
- wagtail/images/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/ca/LC_MESSAGES/django.po +15 -9
- wagtail/images/locale/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/cs/LC_MESSAGES/django.po +19 -8
- wagtail/images/locale/cy/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/da/LC_MESSAGES/django.po +1 -1
- wagtail/images/locale/de/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/dv/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/el/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/en/LC_MESSAGES/django.po +57 -46
- wagtail/images/locale/es/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/es_419/LC_MESSAGES/django.po +1 -1
- wagtail/images/locale/et/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/eu/LC_MESSAGES/django.po +1 -1
- wagtail/images/locale/fa/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/fi/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/fi/LC_MESSAGES/django.po +18 -9
- wagtail/images/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/fr/LC_MESSAGES/django.po +15 -9
- wagtail/images/locale/gl/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/gl/LC_MESSAGES/django.po +15 -9
- wagtail/images/locale/he_IL/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/hr_HR/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/ht/LC_MESSAGES/django.po +1 -1
- wagtail/images/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/hu/LC_MESSAGES/django.po +7 -10
- wagtail/images/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/is_IS/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/it/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/ja/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/ka/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/ko/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/lt/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/lv/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/mi/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/mn/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/images/locale/nb/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/nl/LC_MESSAGES/django.po +50 -21
- wagtail/images/locale/pl/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/pt_BR/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/pt_PT/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/ro/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/ru/LC_MESSAGES/django.po +24 -8
- wagtail/images/locale/sk_SK/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/sl/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/sv/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/tr/LC_MESSAGES/django.po +85 -7
- wagtail/images/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/ug/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/uk/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/vi/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/zh/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/zh_Hans/LC_MESSAGES/django.po +7 -7
- wagtail/images/locale/zh_Hant/LC_MESSAGES/django.po +7 -7
- wagtail/images/models.py +1 -1
- wagtail/images/static/wagtailimages/js/add-multiple.js +1 -1
- wagtail/images/static/wagtailimages/js/focal-point-chooser.js +1 -1
- wagtail/images/static/wagtailimages/js/image-block.js +1 -1
- wagtail/images/static/wagtailimages/js/image-chooser-modal.js +1 -1
- wagtail/images/static/wagtailimages/js/image-chooser-telepath.js +1 -1
- wagtail/images/static/wagtailimages/js/image-chooser.js +1 -1
- wagtail/images/static/wagtailimages/js/image-url-generator.js +1 -1
- wagtail/images/static/wagtailimages/js/vendor/jquery.Jcrop.min.js +1 -1
- wagtail/images/static/wagtailimages/js/vendor/jquery.fileupload-image.js +1 -1
- wagtail/images/static/wagtailimages/js/vendor/jquery.fileupload-validate.js +1 -1
- wagtail/images/static/wagtailimages/js/vendor/load-image.min.js +1 -1
- wagtail/images/templates/wagtailimages/chooser/chooser.html +22 -13
- wagtail/images/templates/wagtailimages/chooser/image_preview_column_cell.html +10 -0
- wagtail/images/templates/wagtailimages/chooser/results.html +24 -20
- wagtail/images/templates/wagtailimages/chooser/title_column_cell.html +15 -0
- wagtail/images/templates/wagtailimages/images/add.html +0 -34
- wagtail/images/templates/wagtailimages/images/index.html +3 -3
- wagtail/images/templates/wagtailimages/images/index_results.html +1 -1
- wagtail/images/templates/wagtailimages/images/layout_toggle_button.html +8 -7
- wagtail/images/templatetags/wagtailimages_tags.py +2 -2
- wagtail/images/tests/test_admin_views.py +87 -0
- wagtail/images/tests/test_form_overrides.py +1 -1
- wagtail/images/tests/test_models.py +48 -9
- wagtail/images/views/chooser.py +66 -2
- wagtail/locale/af/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/ar/LC_MESSAGES/django.po +1 -9
- wagtail/locale/az_AZ/LC_MESSAGES/django.po +1 -1
- wagtail/locale/be/LC_MESSAGES/django.po +1 -1
- wagtail/locale/bg/LC_MESSAGES/django.po +1 -1
- wagtail/locale/bn/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/ca/LC_MESSAGES/django.po +4 -4
- wagtail/locale/cs/LC_MESSAGES/django.po +1 -1
- wagtail/locale/cy/LC_MESSAGES/django.po +1 -1
- wagtail/locale/da/LC_MESSAGES/django.po +1 -1
- wagtail/locale/de/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/de/LC_MESSAGES/django.po +1 -9
- wagtail/locale/dv/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/dv/LC_MESSAGES/django.po +1 -8
- wagtail/locale/el/LC_MESSAGES/django.po +1 -1
- wagtail/locale/en/LC_MESSAGES/django.po +55 -55
- wagtail/locale/es/LC_MESSAGES/django.po +1 -1
- wagtail/locale/es_419/LC_MESSAGES/django.po +1 -1
- wagtail/locale/et/LC_MESSAGES/django.po +1 -1
- wagtail/locale/eu/LC_MESSAGES/django.po +1 -1
- wagtail/locale/fa/LC_MESSAGES/django.po +1 -1
- wagtail/locale/fi/LC_MESSAGES/django.po +1 -1
- wagtail/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/fr/LC_MESSAGES/django.po +4 -4
- wagtail/locale/gl/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/gl/LC_MESSAGES/django.po +3 -3
- wagtail/locale/he_IL/LC_MESSAGES/django.po +1 -1
- wagtail/locale/hr_HR/LC_MESSAGES/django.po +1 -1
- wagtail/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/hu/LC_MESSAGES/django.po +1 -9
- wagtail/locale/id_ID/LC_MESSAGES/django.po +1 -1
- wagtail/locale/is_IS/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/is_IS/LC_MESSAGES/django.po +4 -12
- wagtail/locale/it/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ja/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ka/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ko/LC_MESSAGES/django.po +1 -1
- wagtail/locale/lt/LC_MESSAGES/django.po +1 -1
- wagtail/locale/lv/LC_MESSAGES/django.po +1 -1
- wagtail/locale/mi/LC_MESSAGES/django.po +1 -1
- wagtail/locale/mn/LC_MESSAGES/django.po +1 -1
- wagtail/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/locale/nb/LC_MESSAGES/django.po +1 -1
- wagtail/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/nl/LC_MESSAGES/django.po +15 -6
- wagtail/locale/pl/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/pl/LC_MESSAGES/django.po +1 -9
- wagtail/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/locale/pt_PT/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ro/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/ro/LC_MESSAGES/django.po +1 -9
- wagtail/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/ru/LC_MESSAGES/django.po +12 -10
- wagtail/locale/sk_SK/LC_MESSAGES/django.po +1 -1
- wagtail/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/sl/LC_MESSAGES/django.po +1 -9
- wagtail/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/sv/LC_MESSAGES/django.po +1 -9
- wagtail/locale/tet/LC_MESSAGES/django.po +1 -1
- wagtail/locale/th/LC_MESSAGES/django.po +1 -1
- wagtail/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/tr/LC_MESSAGES/django.po +4 -8
- wagtail/locale/tr_TR/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ug/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/ug/LC_MESSAGES/django.po +1 -8
- wagtail/locale/uk/LC_MESSAGES/django.po +1 -1
- wagtail/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/locale/zh/LC_MESSAGES/django.po +1 -1
- wagtail/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
- wagtail/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/locales/locale/nl/LC_MESSAGES/django.po +12 -1
- wagtail/locales/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/locales/locale/ru/LC_MESSAGES/django.po +10 -1
- wagtail/locales/views.py +2 -2
- wagtail/models/orderable.py +10 -0
- wagtail/models/pages.py +9 -11
- wagtail/models/sites.py +1 -1
- wagtail/models/workflows.py +8 -5
- wagtail/project_template/home/tests.py +6 -7
- wagtail/project_template/project_name/settings/base.py +9 -9
- wagtail/project_template/requirements.txt +1 -1
- wagtail/query.py +7 -2
- wagtail/rich_text/rewriters.py +1 -1
- wagtail/search/apps.py +4 -49
- wagtail/search/backends/__init__.py +1 -113
- wagtail/search/backends/base.py +1 -547
- wagtail/search/backends/database/__init__.py +1 -50
- wagtail/search/backends/database/fallback.py +1 -253
- wagtail/search/backends/database/mysql/mysql.py +1 -700
- wagtail/search/backends/database/mysql/query.py +1 -258
- wagtail/search/backends/database/postgres/postgres.py +1 -749
- wagtail/search/backends/database/postgres/query.py +1 -83
- wagtail/search/backends/database/postgres/weights.py +1 -63
- wagtail/search/backends/database/sqlite/query.py +1 -294
- wagtail/search/backends/database/sqlite/sqlite.py +1 -719
- wagtail/search/backends/database/sqlite/utils.py +1 -35
- wagtail/search/backends/deprecation.py +45 -0
- wagtail/search/backends/elasticsearch7.py +18 -1260
- wagtail/search/backends/elasticsearch8.py +21 -96
- wagtail/search/backends/elasticsearch9.py +35 -0
- wagtail/search/backends/opensearch2.py +35 -0
- wagtail/search/backends/opensearch3.py +35 -0
- wagtail/search/index.py +1 -358
- wagtail/search/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/ar/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/be/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/be/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/ca/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/cs/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/cy/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/cy/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/de/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/de/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/dv/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/dv/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/en/LC_MESSAGES/django.po +2 -10
- wagtail/search/locale/es/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/es/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/et/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/fa/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/fi/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/fi/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/fr/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/gl/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/gl/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/hr_HR/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/ht/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/hu/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/id_ID/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/is_IS/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/is_IS/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/it/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/ja/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/ko/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/ko/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/lt/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/mi/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/mn/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/nb/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/nl/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/pl/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/pl/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/pt_BR/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/pt_PT/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/ro/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/ro/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/ru/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/sl/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/sv/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/tet/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/th/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/tr/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/tr_TR/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/ug/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/ug/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/uk/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/uk/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/zh_Hans/LC_MESSAGES/django.po +1 -7
- wagtail/search/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
- wagtail/search/management/commands/update_index.py +1 -205
- wagtail/search/management/commands/wagtail_update_index.py +1 -4
- wagtail/search/models.py +29 -158
- wagtail/search/query.py +1 -114
- wagtail/search/queryset.py +1 -43
- wagtail/search/signal_handlers.py +1 -24
- wagtail/search/tasks.py +1 -10
- wagtail/search/tests/test_elasticsearch.py +22 -0
- wagtail/search/utils.py +1 -206
- wagtail/sites/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/af/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ar/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/az_AZ/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/be/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/bg/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/bn/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ca/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/cs/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/cy/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/da/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/de/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/dv/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/el/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/en/LC_MESSAGES/django.po +3 -3
- wagtail/snippets/locale/en_IN/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/es/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/es_419/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/es_VE/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/et/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/eu/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/fa/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/fi/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/fr/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/gl/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/he_IL/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/hi/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/hr_HR/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ht/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/hu/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/id_ID/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/is_IS/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/it/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ja/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ka/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ko/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/lt/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/lv/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/mi/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/mn/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/nb/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/nl/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/pl/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/pt_PT/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ro/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/ru/LC_MESSAGES/django.po +9 -2
- wagtail/snippets/locale/sk_SK/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/sl/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/sr/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/sv/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ta/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/tet/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/th/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/tr/LC_MESSAGES/django.po +9 -2
- wagtail/snippets/locale/tr_TR/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ug/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/uk/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/zh/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/static/wagtailsnippets/js/snippet-chooser-telepath.js +1 -1
- wagtail/snippets/static/wagtailsnippets/js/snippet-chooser.js +1 -1
- wagtail/snippets/tests/test_reordering.py +319 -0
- wagtail/snippets/tests/test_snippets.py +77 -12
- wagtail/snippets/views/snippets.py +16 -0
- wagtail/test/numberformat.py +30 -0
- wagtail/test/settings.py +35 -12
- wagtail/test/testapp/fields.py +12 -0
- wagtail/test/testapp/migrations/0056_commentablejsonpage.py +50 -0
- wagtail/test/testapp/migrations/0057_featurecompletetoy_sort_order.py +23 -0
- wagtail/test/testapp/migrations/0058_customlocktask.py +31 -0
- wagtail/test/testapp/models.py +27 -0
- wagtail/test/testapp/views.py +3 -1
- wagtail/test/utils/page_tests.py +17 -17
- wagtail/test/utils/template_tests.py +4 -6
- wagtail/test/utils/wagtail_tests.py +1 -2
- wagtail/tests/test_page_model.py +15 -0
- wagtail/{search/tests → tests}/test_page_search.py +29 -2
- wagtail/tests/test_search_fields.py +69 -0
- wagtail/tests/test_tests.py +62 -6
- wagtail/tests/test_workflow.py +25 -1
- wagtail/users/locale/ar/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/be/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/bg/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/bn/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/ca/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/cs/LC_MESSAGES/django.po +4 -1
- wagtail/users/locale/cy/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/da/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/de/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/dv/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/el/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/en/LC_MESSAGES/django.po +2 -2
- wagtail/users/locale/es/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/es_419/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/et/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/eu/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/fa/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/fi/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/fi/LC_MESSAGES/django.po +6 -3
- wagtail/users/locale/fr/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/gl/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/he_IL/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/hr_HR/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/hu/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/hy/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/id_ID/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/is_IS/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/it/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/ja/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/ka/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/ko/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/lt/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/lv/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/mi/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/mn/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/nb/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/nl/LC_MESSAGES/django.po +7 -4
- wagtail/users/locale/pl/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/pt_PT/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/ro/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/ru/LC_MESSAGES/django.po +6 -2
- wagtail/users/locale/sk_SK/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/sl/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/sv/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/tet/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/th/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/tr/LC_MESSAGES/django.po +79 -5
- wagtail/users/locale/tr_TR/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/ug/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/uk/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/zh/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
- wagtail/users/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
- wagtail/users/templates/wagtailusers/users/create.html +2 -0
- wagtail/users/templates/wagtailusers/users/edit.html +2 -0
- wagtail/users/tests/test_admin_views.py +4 -0
- wagtail/users/views/users.py +1 -1
- {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/METADATA +8 -7
- {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/RECORD +1102 -1108
- wagtail/admin/templates/wagtailadmin/collection_privacy/set_privacy.html +0 -13
- wagtail/admin/templates/wagtailadmin/page_privacy/set_privacy.html +0 -13
- wagtail/search/tests/__init__.py +0 -0
- wagtail/search/tests/elasticsearch_common_tests.py +0 -251
- wagtail/search/tests/test_backends.py +0 -1215
- wagtail/search/tests/test_db_backend.py +0 -62
- wagtail/search/tests/test_elasticsearch7_backend.py +0 -1452
- wagtail/search/tests/test_elasticsearch8_backend.py +0 -15
- wagtail/search/tests/test_index_functions.py +0 -256
- wagtail/search/tests/test_indexed_class.py +0 -157
- wagtail/search/tests/test_mysql_backend.py +0 -192
- wagtail/search/tests/test_postgres_backend.py +0 -210
- wagtail/search/tests/test_queries.py +0 -332
- wagtail/search/tests/test_related_fields.py +0 -102
- wagtail/search/tests/test_sqlite_backend.py +0 -52
- wagtail/test/search/__init__.py +0 -0
- wagtail/test/search/apps.py +0 -9
- wagtail/test/search/fixtures/search.json +0 -545
- wagtail/test/search/migrations/0001_initial.py +0 -146
- wagtail/test/search/migrations/0002_bookunindexed.py +0 -43
- wagtail/test/search/migrations/0003_book_summary.py +0 -18
- wagtail/test/search/migrations/__init__.py +0 -0
- wagtail/test/search/models.py +0 -137
- /wagtail/admin/templates/wagtailadmin/{pages/listing/_ordering_cell.html → tables/ordering_cell.html} +0 -0
- /wagtail/{search/checks.py → checks.py} +0 -0
- {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/WHEEL +0 -0
- {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/entry_points.txt +0 -0
- {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/licenses/LICENSE +0 -0
- {wagtail-7.1.2.dist-info → wagtail-7.2.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import json
|
|
2
|
-
from typing import Optional
|
|
3
2
|
|
|
4
3
|
from django.conf import settings
|
|
5
4
|
from django.contrib.admin.utils import quote
|
|
@@ -38,6 +37,7 @@ from wagtail.models import (
|
|
|
38
37
|
WorkflowMixin,
|
|
39
38
|
WorkflowState,
|
|
40
39
|
)
|
|
40
|
+
from wagtail.models.orderable import set_max_order
|
|
41
41
|
from wagtail.utils.timestamps import render_timestamp
|
|
42
42
|
|
|
43
43
|
|
|
@@ -123,7 +123,7 @@ class LocaleMixin:
|
|
|
123
123
|
def translations(self):
|
|
124
124
|
return self.get_translations() if self.locale else []
|
|
125
125
|
|
|
126
|
-
def get_locale(self) ->
|
|
126
|
+
def get_locale(self) -> Locale | None:
|
|
127
127
|
if not getattr(self, "model", None):
|
|
128
128
|
return None
|
|
129
129
|
|
|
@@ -240,6 +240,15 @@ class IndexViewOptionalFeaturesMixin:
|
|
|
240
240
|
list_display.append(LiveStatusTagColumn())
|
|
241
241
|
return list_display
|
|
242
242
|
|
|
243
|
+
def get_reorder_url(self):
|
|
244
|
+
if (
|
|
245
|
+
self.model
|
|
246
|
+
and issubclass(self.model, DraftStateMixin)
|
|
247
|
+
and not self.user_has_permission("publish")
|
|
248
|
+
):
|
|
249
|
+
return None
|
|
250
|
+
return super().get_reorder_url()
|
|
251
|
+
|
|
243
252
|
|
|
244
253
|
class CreateEditViewOptionalFeaturesMixin:
|
|
245
254
|
"""
|
|
@@ -524,6 +533,15 @@ class CreateEditViewOptionalFeaturesMixin:
|
|
|
524
533
|
else:
|
|
525
534
|
instance = self.form.save()
|
|
526
535
|
|
|
536
|
+
# Apply max order number if the model uses custom ordering and the
|
|
537
|
+
# sort_order_field is not set.
|
|
538
|
+
if (
|
|
539
|
+
self.view_name == "create"
|
|
540
|
+
and self.sort_order_field
|
|
541
|
+
and getattr(instance, self.sort_order_field) is None
|
|
542
|
+
):
|
|
543
|
+
set_max_order(instance, self.sort_order_field)
|
|
544
|
+
|
|
527
545
|
self.has_content_changes = self.view_name == "create" or self.form.has_changed()
|
|
528
546
|
|
|
529
547
|
# Save revision if the model inherits from RevisionMixin
|
|
@@ -38,6 +38,7 @@ from wagtail.admin.ui.tables import (
|
|
|
38
38
|
TitleColumn,
|
|
39
39
|
UpdatedAtColumn,
|
|
40
40
|
)
|
|
41
|
+
from wagtail.admin.ui.tables.orderable import OrderableTableMixin
|
|
41
42
|
from wagtail.admin.utils import get_latest_str, get_valid_next_url_from_request
|
|
42
43
|
from wagtail.admin.views.mixins import SpreadsheetExportMixin
|
|
43
44
|
from wagtail.admin.widgets.button import (
|
|
@@ -50,6 +51,7 @@ from wagtail.log_actions import log
|
|
|
50
51
|
from wagtail.log_actions import registry as log_registry
|
|
51
52
|
from wagtail.models import DraftStateMixin, Locale, ReferenceIndex
|
|
52
53
|
from wagtail.models.audit_log import ModelLogEntry
|
|
54
|
+
from wagtail.models.orderable import set_max_order
|
|
53
55
|
from wagtail.search.index import class_is_indexed
|
|
54
56
|
|
|
55
57
|
from .base import BaseListingView, WagtailAdminTemplateMixin
|
|
@@ -71,9 +73,11 @@ class IndexView(
|
|
|
71
73
|
copy_url_name = None
|
|
72
74
|
inspect_url_name = None
|
|
73
75
|
delete_url_name = None
|
|
76
|
+
reorder_url_name = None
|
|
74
77
|
any_permission_required = ["add", "change", "delete", "view"]
|
|
75
78
|
list_filter = None
|
|
76
79
|
show_other_searches = False
|
|
80
|
+
sort_order_field = None
|
|
77
81
|
|
|
78
82
|
@cached_property
|
|
79
83
|
def is_searchable(self):
|
|
@@ -105,6 +109,24 @@ class IndexView(
|
|
|
105
109
|
{"Meta": Meta},
|
|
106
110
|
)
|
|
107
111
|
|
|
112
|
+
@cached_property
|
|
113
|
+
def table_class(self):
|
|
114
|
+
table_class = super().table_class
|
|
115
|
+
if self.show_ordering_column:
|
|
116
|
+
return type(
|
|
117
|
+
f"{self.model.__name__}Table",
|
|
118
|
+
(OrderableTableMixin, table_class),
|
|
119
|
+
{},
|
|
120
|
+
)
|
|
121
|
+
return table_class
|
|
122
|
+
|
|
123
|
+
def get_table_kwargs(self):
|
|
124
|
+
kwargs = super().get_table_kwargs()
|
|
125
|
+
if self.show_ordering_column:
|
|
126
|
+
kwargs["sort_order_field"] = self.sort_order_field
|
|
127
|
+
kwargs["reorder_url"] = self.get_reorder_url()
|
|
128
|
+
return kwargs
|
|
129
|
+
|
|
108
130
|
def _annotate_queryset_updated_at(self, queryset):
|
|
109
131
|
# Annotate the objects' updated_at, use _ prefix to avoid name collision
|
|
110
132
|
# with an existing database field.
|
|
@@ -138,9 +160,11 @@ class IndexView(
|
|
|
138
160
|
if has_updated_at_column:
|
|
139
161
|
queryset = self._annotate_queryset_updated_at(queryset)
|
|
140
162
|
|
|
163
|
+
if self.show_ordering_column:
|
|
164
|
+
return queryset.order_by(self.sort_order_field)
|
|
141
165
|
# Explicitly handle null values for the updated at column to ensure consistency
|
|
142
166
|
# across database backends and match the behaviour in page explorer
|
|
143
|
-
|
|
167
|
+
elif self.ordering == "_updated_at":
|
|
144
168
|
return queryset.order_by(models.F("_updated_at").asc(nulls_first=True))
|
|
145
169
|
elif self.ordering == "-_updated_at":
|
|
146
170
|
return queryset.order_by(models.F("_updated_at").desc(nulls_last=True))
|
|
@@ -276,6 +300,10 @@ class IndexView(
|
|
|
276
300
|
if self.delete_url_name and self.user_has_permission("delete"):
|
|
277
301
|
return reverse(self.delete_url_name, args=(quote(instance.pk),))
|
|
278
302
|
|
|
303
|
+
def get_reorder_url(self):
|
|
304
|
+
if self.reorder_url_name and self.user_has_permission("change"):
|
|
305
|
+
return reverse(self.reorder_url_name, args=(999999,))
|
|
306
|
+
|
|
279
307
|
def get_add_url(self):
|
|
280
308
|
if self.add_url_name and self.user_has_permission("add"):
|
|
281
309
|
return self._set_locale_query_param(reverse(self.add_url_name))
|
|
@@ -302,6 +330,19 @@ class IndexView(
|
|
|
302
330
|
)
|
|
303
331
|
return buttons
|
|
304
332
|
|
|
333
|
+
@cached_property
|
|
334
|
+
def header_more_buttons(self):
|
|
335
|
+
buttons = super().header_more_buttons
|
|
336
|
+
if self.get_reorder_url():
|
|
337
|
+
buttons.append(
|
|
338
|
+
Button(
|
|
339
|
+
_("Sort item order"),
|
|
340
|
+
url=self.index_url + f"?ordering={self.sort_order_field}",
|
|
341
|
+
icon_name="list-ul",
|
|
342
|
+
)
|
|
343
|
+
)
|
|
344
|
+
return buttons
|
|
345
|
+
|
|
305
346
|
def get_list_more_buttons(self, instance):
|
|
306
347
|
buttons = []
|
|
307
348
|
if edit_url := self.get_edit_url(instance):
|
|
@@ -382,6 +423,26 @@ class IndexView(
|
|
|
382
423
|
return self.model._meta.verbose_name_plural
|
|
383
424
|
return None
|
|
384
425
|
|
|
426
|
+
@cached_property
|
|
427
|
+
def show_ordering_column(self):
|
|
428
|
+
return self.sort_order_field and (self.ordering == self.sort_order_field)
|
|
429
|
+
|
|
430
|
+
def get_paginate_by(self, queryset):
|
|
431
|
+
if self.show_ordering_column:
|
|
432
|
+
# Don't paginate if sorting by custom order - all items must be shown
|
|
433
|
+
# to allow drag-and-drop reordering
|
|
434
|
+
return None
|
|
435
|
+
return super().get_paginate_by(queryset)
|
|
436
|
+
|
|
437
|
+
def get_valid_orderings(self):
|
|
438
|
+
valid_orderings = super().get_valid_orderings()
|
|
439
|
+
|
|
440
|
+
if self.sort_order_field and not (self.is_searching or self.is_filtering):
|
|
441
|
+
# ordering by custom order is only available when not searching/filtering
|
|
442
|
+
valid_orderings.append(self.sort_order_field)
|
|
443
|
+
|
|
444
|
+
return valid_orderings
|
|
445
|
+
|
|
385
446
|
def get_context_data(self, *args, **kwargs):
|
|
386
447
|
context = super().get_context_data(*args, **kwargs)
|
|
387
448
|
|
|
@@ -424,6 +485,7 @@ class CreateView(
|
|
|
424
485
|
submit_button_label = gettext_lazy("Create")
|
|
425
486
|
submit_button_active_label = gettext_lazy("Creating…")
|
|
426
487
|
actions = ["create"]
|
|
488
|
+
sort_order_field = None
|
|
427
489
|
|
|
428
490
|
def setup(self, request, *args, **kwargs):
|
|
429
491
|
super().setup(request, *args, **kwargs)
|
|
@@ -575,6 +637,10 @@ class CreateView(
|
|
|
575
637
|
and returns the new object. Override this to implement custom save logic.
|
|
576
638
|
"""
|
|
577
639
|
instance = self.form.save()
|
|
640
|
+
# Apply max order number if the model uses custom ordering and the
|
|
641
|
+
# sort_order_field is not set.
|
|
642
|
+
if self.sort_order_field and getattr(instance, self.sort_order_field) is None:
|
|
643
|
+
set_max_order(instance, self.sort_order_field)
|
|
578
644
|
log(instance=instance, action="wagtail.create", content_changed=True)
|
|
579
645
|
return instance
|
|
580
646
|
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
from django.contrib.admin.utils import unquote
|
|
2
|
+
from django.db import transaction
|
|
3
|
+
from django.db.models import F
|
|
4
|
+
from django.http import JsonResponse
|
|
5
|
+
from django.shortcuts import get_object_or_404
|
|
6
|
+
from django.views.generic import View
|
|
7
|
+
|
|
8
|
+
from .permissions import PermissionCheckedMixin
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ReorderView(PermissionCheckedMixin, View):
|
|
12
|
+
"""View for handling the reordering of model instances that have an order field."""
|
|
13
|
+
|
|
14
|
+
model = None
|
|
15
|
+
sort_order_field = None
|
|
16
|
+
permission_required = "change"
|
|
17
|
+
|
|
18
|
+
def get_queryset(self):
|
|
19
|
+
return self.model._default_manager.all().order_by(self.sort_order_field)
|
|
20
|
+
|
|
21
|
+
def post(self, request, *args, **kwargs):
|
|
22
|
+
item_to_move = get_object_or_404(self.model, pk=unquote(kwargs.get("pk")))
|
|
23
|
+
|
|
24
|
+
try:
|
|
25
|
+
# Position is an index in the list of items,
|
|
26
|
+
# not a value of the sort_order_field.
|
|
27
|
+
new_position = int(request.GET.get("position", ""))
|
|
28
|
+
except ValueError:
|
|
29
|
+
new_position = -1
|
|
30
|
+
|
|
31
|
+
queryset = self.get_queryset()
|
|
32
|
+
items = list(queryset.values("pk", self.sort_order_field))
|
|
33
|
+
|
|
34
|
+
# If position is missing or not a valid integer, move to the end
|
|
35
|
+
if new_position < 0 or new_position >= len(items):
|
|
36
|
+
new_position = len(items) - 1
|
|
37
|
+
|
|
38
|
+
# Get the current sort_order_field value of the item being moved,
|
|
39
|
+
# to be used as the relative anchor for updating the other items.
|
|
40
|
+
current_sort_order = getattr(item_to_move, self.sort_order_field)
|
|
41
|
+
|
|
42
|
+
# The current position index of the item being moved (may not be the
|
|
43
|
+
# same as the sort_order_field value), to be used to determine
|
|
44
|
+
# whether to move items up or down.
|
|
45
|
+
current_position = next(
|
|
46
|
+
(i for i, obj in enumerate(items) if obj["pk"] == item_to_move.pk),
|
|
47
|
+
current_sort_order,
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
# The sort_order_field value of the item at the new position, which
|
|
51
|
+
# will be set as the new sort_order_field value for the item being moved.
|
|
52
|
+
sort_order_at_position = items[new_position][self.sort_order_field]
|
|
53
|
+
|
|
54
|
+
with transaction.atomic():
|
|
55
|
+
if new_position < current_position:
|
|
56
|
+
# We are moving the item up in the list, so we need to push down
|
|
57
|
+
# the items from the new position and below.
|
|
58
|
+
queryset.filter(
|
|
59
|
+
**{
|
|
60
|
+
f"{self.sort_order_field}__gte": sort_order_at_position,
|
|
61
|
+
f"{self.sort_order_field}__lt": current_sort_order,
|
|
62
|
+
}
|
|
63
|
+
).update(**{self.sort_order_field: F(self.sort_order_field) + 1})
|
|
64
|
+
elif new_position > current_position:
|
|
65
|
+
# We are moving the item down in the list, so we need to pull up
|
|
66
|
+
# the items from the new position and above.
|
|
67
|
+
queryset.filter(
|
|
68
|
+
**{
|
|
69
|
+
f"{self.sort_order_field}__gt": current_sort_order,
|
|
70
|
+
f"{self.sort_order_field}__lte": sort_order_at_position,
|
|
71
|
+
}
|
|
72
|
+
).update(**{self.sort_order_field: F(self.sort_order_field) - 1})
|
|
73
|
+
|
|
74
|
+
if new_position != current_position:
|
|
75
|
+
# Once the other items have been moved, update the actual item.
|
|
76
|
+
setattr(item_to_move, self.sort_order_field, sort_order_at_position)
|
|
77
|
+
item_to_move.save(update_fields=[self.sort_order_field])
|
|
78
|
+
|
|
79
|
+
return JsonResponse({"success": True})
|
wagtail/admin/views/home.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
|
-
from typing import Any
|
|
2
|
+
from typing import Any
|
|
3
3
|
|
|
4
4
|
from django.conf import settings
|
|
5
5
|
from django.contrib.auth import get_user_model
|
|
@@ -38,7 +38,7 @@ class UpgradeNotificationPanel(Component):
|
|
|
38
38
|
template_name = "wagtailadmin/home/upgrade_notification.html"
|
|
39
39
|
dismissible_id = "last_upgrade_check"
|
|
40
40
|
|
|
41
|
-
def get_upgrade_check_setting(self) ->
|
|
41
|
+
def get_upgrade_check_setting(self) -> bool | str:
|
|
42
42
|
return getattr(settings, "WAGTAIL_ENABLE_UPDATE_CHECK", True)
|
|
43
43
|
|
|
44
44
|
def upgrade_check_lts_only(self) -> bool:
|
|
@@ -77,7 +77,7 @@ class WhatsNewInWagtailVersionPanel(Component):
|
|
|
77
77
|
order = 110
|
|
78
78
|
_version = "4"
|
|
79
79
|
|
|
80
|
-
def get_whats_new_banner_setting(self) ->
|
|
80
|
+
def get_whats_new_banner_setting(self) -> bool | str:
|
|
81
81
|
return getattr(settings, "WAGTAIL_ENABLE_WHATS_NEW_BANNER", True)
|
|
82
82
|
|
|
83
83
|
def get_dismissible_id(self) -> str:
|
|
@@ -108,10 +108,13 @@ def set_privacy(request, page_id):
|
|
|
108
108
|
else:
|
|
109
109
|
return render_modal_workflow(
|
|
110
110
|
request,
|
|
111
|
-
"wagtailadmin/
|
|
111
|
+
"wagtailadmin/shared/set_privacy.html",
|
|
112
112
|
None,
|
|
113
113
|
{
|
|
114
|
-
"
|
|
114
|
+
"action_url": reverse(
|
|
115
|
+
"wagtailadmin_pages:set_privacy", args=(page.pk,)
|
|
116
|
+
),
|
|
117
|
+
"object": page,
|
|
115
118
|
"form": form,
|
|
116
119
|
},
|
|
117
120
|
json_data={"step": "set_privacy"},
|
|
@@ -383,7 +383,7 @@ class CreateView(WagtailAdminTemplateMixin, HookResponseMixin, View):
|
|
|
383
383
|
def form_invalid(self, form):
|
|
384
384
|
messages.validation_error(
|
|
385
385
|
self.request,
|
|
386
|
-
_("The page could not be created due to validation errors"),
|
|
386
|
+
_("The page could not be created due to validation errors."),
|
|
387
387
|
self.form,
|
|
388
388
|
)
|
|
389
389
|
self.has_unsaved_changes = True
|
|
@@ -852,12 +852,12 @@ class EditView(WagtailAdminTemplateMixin, HookResponseMixin, View):
|
|
|
852
852
|
)
|
|
853
853
|
elif self.locked_for_user:
|
|
854
854
|
messages.error(
|
|
855
|
-
self.request, _("The page could not be saved as it is locked")
|
|
855
|
+
self.request, _("The page could not be saved as it is locked.")
|
|
856
856
|
)
|
|
857
857
|
else:
|
|
858
858
|
messages.validation_error(
|
|
859
859
|
self.request,
|
|
860
|
-
_("The page could not be saved due to validation errors"),
|
|
860
|
+
_("The page could not be saved due to validation errors."),
|
|
861
861
|
self.form,
|
|
862
862
|
)
|
|
863
863
|
self.errors_debug = repr(self.form.errors) + repr(
|
|
@@ -27,7 +27,6 @@ from wagtail.admin.ui.tables import DateColumn
|
|
|
27
27
|
from wagtail.admin.ui.tables.pages import (
|
|
28
28
|
BulkActionsColumn,
|
|
29
29
|
NavigateToChildrenColumn,
|
|
30
|
-
OrderingColumn,
|
|
31
30
|
PageStatusColumn,
|
|
32
31
|
PageTable,
|
|
33
32
|
PageTitleColumn,
|
|
@@ -152,7 +151,7 @@ class PageListingMixin:
|
|
|
152
151
|
"type",
|
|
153
152
|
label=_("Type"),
|
|
154
153
|
accessor="page_type_display_name",
|
|
155
|
-
sort_key="
|
|
154
|
+
sort_key="content_type__model",
|
|
156
155
|
width="12%",
|
|
157
156
|
),
|
|
158
157
|
PageStatusColumn(
|
|
@@ -310,6 +309,9 @@ class ExplorableIndexView(IndexView):
|
|
|
310
309
|
index_results_url_name = "wagtailadmin_explore_results"
|
|
311
310
|
page_title = _("Exploring")
|
|
312
311
|
filterset_class = GenericPageFilterSet
|
|
312
|
+
# This is not a real field on the model, but it allows reuse of ordering
|
|
313
|
+
# logic from generic IndexView
|
|
314
|
+
sort_order_field = "ord"
|
|
313
315
|
|
|
314
316
|
@classproperty
|
|
315
317
|
def columns(cls):
|
|
@@ -394,39 +396,14 @@ class ExplorableIndexView(IndexView):
|
|
|
394
396
|
if permissions.can_view_revisions():
|
|
395
397
|
return reverse("wagtailadmin_pages:history", args=[self.parent_page.id])
|
|
396
398
|
|
|
399
|
+
def get_reorder_url(self):
|
|
400
|
+
return reverse("wagtailadmin_pages:set_page_position", args=[999999])
|
|
401
|
+
|
|
397
402
|
def get_table_kwargs(self):
|
|
398
403
|
kwargs = super().get_table_kwargs()
|
|
399
|
-
kwargs["use_row_ordering_attributes"] = self.show_ordering_column
|
|
400
404
|
kwargs["parent_page"] = self.parent_page
|
|
401
|
-
|
|
402
|
-
if self.show_ordering_column:
|
|
403
|
-
kwargs["caption"] = _(
|
|
404
|
-
"Focus on the drag button and press up or down arrows to move the item, then press enter to submit the change."
|
|
405
|
-
)
|
|
406
|
-
kwargs["attrs"] = {
|
|
407
|
-
"data-controller": "w-orderable",
|
|
408
|
-
"data-w-orderable-active-class": "w-orderable--active",
|
|
409
|
-
"data-w-orderable-chosen-class": "w-orderable__item--active",
|
|
410
|
-
"data-w-orderable-container-value": "tbody",
|
|
411
|
-
"data-w-orderable-message-value": _(
|
|
412
|
-
"'%(page_title)s' has been moved successfully."
|
|
413
|
-
)
|
|
414
|
-
% {"page_title": "__LABEL__"},
|
|
415
|
-
"data-w-orderable-url-value": reverse(
|
|
416
|
-
"wagtailadmin_pages:set_page_position", args=[999999]
|
|
417
|
-
),
|
|
418
|
-
}
|
|
419
405
|
return kwargs
|
|
420
406
|
|
|
421
|
-
def get_valid_orderings(self):
|
|
422
|
-
valid_orderings = super().get_valid_orderings()
|
|
423
|
-
|
|
424
|
-
if not self.is_searching:
|
|
425
|
-
# ordering by page order is only available when not searching
|
|
426
|
-
valid_orderings.append("ord")
|
|
427
|
-
|
|
428
|
-
return valid_orderings
|
|
429
|
-
|
|
430
407
|
def get_ordering(self):
|
|
431
408
|
if self.is_searching and not self.is_explicitly_ordered:
|
|
432
409
|
# default to ordering by relevance
|
|
@@ -440,22 +417,10 @@ class ExplorableIndexView(IndexView):
|
|
|
440
417
|
|
|
441
418
|
return ordering
|
|
442
419
|
|
|
443
|
-
def get_paginate_by(self, queryset):
|
|
444
|
-
if self.ordering == "ord":
|
|
445
|
-
# Don't paginate if sorting by page order - all pages must be shown to
|
|
446
|
-
# allow drag-and-drop reordering
|
|
447
|
-
return None
|
|
448
|
-
else:
|
|
449
|
-
return self.paginate_by
|
|
450
|
-
|
|
451
420
|
def get_page_subtitle(self):
|
|
452
421
|
return self.parent_page.get_admin_display_title()
|
|
453
422
|
|
|
454
423
|
def get_context_data(self, **kwargs):
|
|
455
|
-
self.show_ordering_column = self.ordering == "ord"
|
|
456
|
-
if self.show_ordering_column:
|
|
457
|
-
self.columns = self.columns.copy()
|
|
458
|
-
self.columns[0] = OrderingColumn("ordering", width="80px", sort_key="ord")
|
|
459
424
|
context = super().get_context_data(**kwargs)
|
|
460
425
|
|
|
461
426
|
if self.is_searching:
|
|
@@ -70,7 +70,7 @@ def move_confirm(request, page_to_move_id, destination_id):
|
|
|
70
70
|
messages.error(
|
|
71
71
|
request,
|
|
72
72
|
_(
|
|
73
|
-
"The slug '%(page_slug)s' is already in use at the selected parent page. Make sure the slug is unique and try again"
|
|
73
|
+
"The slug '%(page_slug)s' is already in use at the selected parent page. Make sure the slug is unique and try again."
|
|
74
74
|
)
|
|
75
75
|
% {"page_slug": page_to_move.slug},
|
|
76
76
|
)
|
wagtail/admin/viewsets/base.py
CHANGED
|
@@ -18,7 +18,7 @@ class ViewSet(WagtailMenuRegisterable):
|
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
20
|
#: A special value that, when passed in a kwargs dict to construct a view, indicates that
|
|
21
|
-
#: the attribute should not be written and should instead be left as the view's initial value
|
|
21
|
+
#: the attribute should not be written and should instead be left as the view's initial value.
|
|
22
22
|
UNDEFINED = object()
|
|
23
23
|
|
|
24
24
|
#: A name for this viewset, used as the default URL prefix and namespace.
|
wagtail/admin/viewsets/model.py
CHANGED
|
@@ -59,6 +59,9 @@ class ModelViewSet(ViewSet):
|
|
|
59
59
|
#: The view class to use for the inspect view; must be a subclass of ``wagtail.admin.views.generic.InspectView``.
|
|
60
60
|
inspect_view_class = generic.InspectView
|
|
61
61
|
|
|
62
|
+
#: The view class to use for the reorder view; must be a subclass of ``wagtail.admin.views.generic.ReorderView``.
|
|
63
|
+
reorder_view_class = generic.ReorderView
|
|
64
|
+
|
|
62
65
|
#: The prefix of template names to look for when rendering the admin views.
|
|
63
66
|
template_prefix = ""
|
|
64
67
|
|
|
@@ -92,6 +95,18 @@ class ModelViewSet(ViewSet):
|
|
|
92
95
|
#: Whether to enable the copy view. Defaults to ``True``.
|
|
93
96
|
copy_view_enabled = True
|
|
94
97
|
|
|
98
|
+
sort_order_field = ViewSet.UNDEFINED
|
|
99
|
+
"""
|
|
100
|
+
The name of an integer field on the model to use for ordering items
|
|
101
|
+
in the index view. If not set and the model has a ``sort_order_field``
|
|
102
|
+
attribute (e.g.
|
|
103
|
+
:attr:`Orderable.sort_order_field <wagtail.models.Orderable.sort_order_field>`),
|
|
104
|
+
that will be used instead. To disable reordering, set this to ``None``.
|
|
105
|
+
|
|
106
|
+
.. versionadded:: 7.2
|
|
107
|
+
The ``sort_order_field`` attribute was added in Wagtail 7.2.
|
|
108
|
+
"""
|
|
109
|
+
|
|
95
110
|
def __init__(self, name=None, **kwargs):
|
|
96
111
|
super().__init__(name=name, **kwargs)
|
|
97
112
|
if not self.model:
|
|
@@ -104,6 +119,12 @@ class ModelViewSet(ViewSet):
|
|
|
104
119
|
self.app_label = self.model_opts.app_label
|
|
105
120
|
self.model_name = self.model_opts.model_name
|
|
106
121
|
|
|
122
|
+
# Auto-detect sort_order_field from the model, e.g. from Orderable mixin
|
|
123
|
+
if self.sort_order_field is self.UNDEFINED and hasattr(
|
|
124
|
+
self.model, "sort_order_field"
|
|
125
|
+
):
|
|
126
|
+
self.sort_order_field = self.model.sort_order_field
|
|
127
|
+
|
|
107
128
|
@property
|
|
108
129
|
def permission_policy(self):
|
|
109
130
|
return ModelPermissionPolicy(self.model)
|
|
@@ -116,6 +137,10 @@ class ModelViewSet(ViewSet):
|
|
|
116
137
|
"""
|
|
117
138
|
return self.model_name
|
|
118
139
|
|
|
140
|
+
@cached_property
|
|
141
|
+
def reorder_view_enabled(self):
|
|
142
|
+
return self.sort_order_field not in {self.UNDEFINED, None}
|
|
143
|
+
|
|
119
144
|
def get_common_view_kwargs(self, **kwargs):
|
|
120
145
|
view_kwargs = super().get_common_view_kwargs(
|
|
121
146
|
**{
|
|
@@ -155,15 +180,21 @@ class ModelViewSet(ViewSet):
|
|
|
155
180
|
}
|
|
156
181
|
if self.ordering:
|
|
157
182
|
view_kwargs["default_ordering"] = self.ordering
|
|
183
|
+
if self.reorder_view_enabled:
|
|
184
|
+
view_kwargs["sort_order_field"] = self.sort_order_field
|
|
185
|
+
view_kwargs["reorder_url_name"] = self.get_url_name("reorder")
|
|
158
186
|
return view_kwargs
|
|
159
187
|
|
|
160
188
|
def get_add_view_kwargs(self, **kwargs):
|
|
161
|
-
|
|
189
|
+
view_kwargs = {
|
|
162
190
|
"panel": self._edit_handler,
|
|
163
191
|
"form_class": self.get_form_class(),
|
|
164
192
|
"template_name": self.create_template_name,
|
|
165
193
|
**kwargs,
|
|
166
194
|
}
|
|
195
|
+
if self.reorder_view_enabled:
|
|
196
|
+
view_kwargs["sort_order_field"] = self.sort_order_field
|
|
197
|
+
return view_kwargs
|
|
167
198
|
|
|
168
199
|
def get_edit_view_kwargs(self, **kwargs):
|
|
169
200
|
return {
|
|
@@ -206,6 +237,12 @@ class ModelViewSet(ViewSet):
|
|
|
206
237
|
def get_copy_view_kwargs(self, **kwargs):
|
|
207
238
|
return self.get_add_view_kwargs(**kwargs)
|
|
208
239
|
|
|
240
|
+
def get_reorder_view_kwargs(self, **kwargs):
|
|
241
|
+
return {
|
|
242
|
+
"sort_order_field": self.sort_order_field,
|
|
243
|
+
**kwargs,
|
|
244
|
+
}
|
|
245
|
+
|
|
209
246
|
@property
|
|
210
247
|
def index_view(self):
|
|
211
248
|
return self.construct_view(
|
|
@@ -260,6 +297,12 @@ class ModelViewSet(ViewSet):
|
|
|
260
297
|
def copy_view(self):
|
|
261
298
|
return self.construct_view(self.copy_view_class, **self.get_copy_view_kwargs())
|
|
262
299
|
|
|
300
|
+
@property
|
|
301
|
+
def reorder_view(self):
|
|
302
|
+
return self.construct_view(
|
|
303
|
+
self.reorder_view_class, **self.get_reorder_view_kwargs()
|
|
304
|
+
)
|
|
305
|
+
|
|
263
306
|
def get_templates(self, name="index", fallback=""):
|
|
264
307
|
"""
|
|
265
308
|
Utility function that provides a list of templates to try for a given
|
|
@@ -621,6 +664,11 @@ class ModelViewSet(ViewSet):
|
|
|
621
664
|
path("usage/<str:pk>/", self.usage_view, name="usage"),
|
|
622
665
|
]
|
|
623
666
|
|
|
667
|
+
if self.reorder_view_enabled:
|
|
668
|
+
urlpatterns.append(
|
|
669
|
+
path("reorder/<str:pk>/", self.reorder_view, name="reorder")
|
|
670
|
+
)
|
|
671
|
+
|
|
624
672
|
if self.inspect_view_enabled:
|
|
625
673
|
urlpatterns.append(
|
|
626
674
|
path("inspect/<str:pk>/", self.inspect_view, name="inspect")
|
wagtail/admin/wagtail_hooks.py
CHANGED
|
@@ -986,7 +986,8 @@ def register_keyboard_shortcuts_menu_item():
|
|
|
986
986
|
"role": "button", # Ensure screen readers announce this as a button
|
|
987
987
|
"data-a11y-dialog-show": "keyboard-shortcuts-dialog",
|
|
988
988
|
"data-action": "w-action#noop:prevent:stop",
|
|
989
|
-
"data-controller": "w-action",
|
|
989
|
+
"data-controller": "w-kbd w-action",
|
|
990
|
+
"data-w-kbd-key-value": "?",
|
|
990
991
|
},
|
|
991
992
|
name="keyboard-shortcuts-trigger",
|
|
992
993
|
url="#",
|
wagtail/admin/widgets/slug.py
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import re
|
|
3
|
-
from typing import List, Optional, Tuple, Union
|
|
4
3
|
|
|
5
4
|
from django.conf import settings
|
|
6
5
|
from django.forms import widgets
|
|
@@ -19,16 +18,17 @@ class SlugInput(widgets.TextInput):
|
|
|
19
18
|
|
|
20
19
|
def __init__(
|
|
21
20
|
self,
|
|
22
|
-
attrs:
|
|
23
|
-
formatters:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
attrs: dict | None = None,
|
|
22
|
+
formatters: None
|
|
23
|
+
| (
|
|
24
|
+
list[
|
|
25
|
+
tuple[
|
|
26
|
+
re.Pattern | str | bytes,
|
|
27
|
+
str | None,
|
|
28
28
|
],
|
|
29
29
|
]
|
|
30
|
-
|
|
31
|
-
locale:
|
|
30
|
+
) = [],
|
|
31
|
+
locale: object | None = None,
|
|
32
32
|
):
|
|
33
33
|
default_attrs = {
|
|
34
34
|
"data-controller": "w-slug",
|
|
@@ -63,7 +63,7 @@ class SlugInput(widgets.TextInput):
|
|
|
63
63
|
if locale is not None:
|
|
64
64
|
# Attempt to resolve a non-empty locale string from a `Locale` instance or the string itself.
|
|
65
65
|
# If no locale can be found, use 'und' - as per ISO639-2 standard, 'und' represents 'undetermined'.
|
|
66
|
-
# If the attribute is not set, the input will fall back to the ``
|
|
66
|
+
# If the attribute is not set, the input will fall back to the ``ACTIVE_CONTENT_LOCALE`` or document lang within the CleanController.
|
|
67
67
|
default_attrs["data-w-slug-locale-value"] = (
|
|
68
68
|
getattr(locale, "language_code", locale) or "und"
|
|
69
69
|
)
|
wagtail/api/v2/serializers.py
CHANGED
|
@@ -376,7 +376,7 @@ class PageSerializer(BaseSerializer):
|
|
|
376
376
|
# Find all relation fields that point to child class and make them use
|
|
377
377
|
# the ChildRelationField class.
|
|
378
378
|
if relation_info.to_many:
|
|
379
|
-
model =
|
|
379
|
+
model = self.Meta.model
|
|
380
380
|
child_relations = {
|
|
381
381
|
child_relation.field.remote_field.related_name: child_relation.related_model
|
|
382
382
|
for child_relation in get_all_child_relations(model)
|