wagtail 6.1.2__py3-none-any.whl → 6.2rc1__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_for_translation.py +15 -1
- wagtail/admin/checks.py +20 -30
- wagtail/admin/forms/pages.py +10 -0
- wagtail/admin/icons.py +43 -0
- wagtail/admin/locale/ar/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/be/LC_MESSAGES/django.po +7 -7
- wagtail/admin/locale/be/LC_MESSAGES/djangojs.po +3 -3
- wagtail/admin/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ca/LC_MESSAGES/django.po +51 -50
- wagtail/admin/locale/cs/LC_MESSAGES/django.po +10 -8
- wagtail/admin/locale/de/LC_MESSAGES/django.po +49 -47
- wagtail/admin/locale/dv/LC_MESSAGES/django.po +8 -8
- wagtail/admin/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/en/LC_MESSAGES/django.po +405 -295
- wagtail/admin/locale/en/LC_MESSAGES/djangojs.po +21 -3
- wagtail/admin/locale/es/LC_MESSAGES/django.po +40 -39
- wagtail/admin/locale/es_419/LC_MESSAGES/django.po +8 -8
- wagtail/admin/locale/et/LC_MESSAGES/django.po +14 -12
- wagtail/admin/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/fa/LC_MESSAGES/django.po +93 -19
- wagtail/admin/locale/fa/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/fa/LC_MESSAGES/djangojs.po +5 -1
- wagtail/admin/locale/fi/LC_MESSAGES/django.po +18 -18
- wagtail/admin/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/fr/LC_MESSAGES/django.po +134 -46
- wagtail/admin/locale/gl/LC_MESSAGES/django.po +55 -54
- wagtail/admin/locale/hr_HR/LC_MESSAGES/django.po +13 -12
- wagtail/admin/locale/hr_HR/LC_MESSAGES/djangojs.po +2 -2
- wagtail/admin/locale/hu/LC_MESSAGES/django.po +45 -42
- wagtail/admin/locale/id_ID/LC_MESSAGES/django.po +6 -6
- wagtail/admin/locale/is_IS/LC_MESSAGES/django.po +53 -51
- wagtail/admin/locale/it/LC_MESSAGES/django.po +56 -55
- wagtail/admin/locale/ja/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/ko/LC_MESSAGES/django.po +18 -17
- wagtail/admin/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/nb/LC_MESSAGES/django.po +22 -22
- wagtail/admin/locale/nl/LC_MESSAGES/django.po +44 -41
- wagtail/admin/locale/pl/LC_MESSAGES/django.po +49 -47
- wagtail/admin/locale/pl/LC_MESSAGES/djangojs.po +3 -3
- wagtail/admin/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/pt_BR/LC_MESSAGES/django.po +46 -26
- wagtail/admin/locale/pt_PT/LC_MESSAGES/django.po +21 -20
- wagtail/admin/locale/ro/LC_MESSAGES/django.po +51 -50
- wagtail/admin/locale/ru/LC_MESSAGES/django.po +60 -59
- wagtail/admin/locale/ru/LC_MESSAGES/djangojs.po +3 -3
- wagtail/admin/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sk_SK/LC_MESSAGES/django.po +15 -5
- wagtail/admin/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sl/LC_MESSAGES/django.po +86 -39
- wagtail/admin/locale/sl/LC_MESSAGES/djangojs.po +2 -2
- wagtail/admin/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sv/LC_MESSAGES/django.po +117 -41
- wagtail/admin/locale/sv/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/sv/LC_MESSAGES/djangojs.po +5 -2
- wagtail/admin/locale/tet/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/uk/LC_MESSAGES/django.po +11 -10
- wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.po +84 -13
- wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
- wagtail/admin/menu.py +2 -2
- wagtail/admin/migrations/0004_editingsession.py +57 -0
- wagtail/admin/migrations/0005_editingsession_is_editing.py +18 -0
- wagtail/admin/models.py +36 -3
- wagtail/admin/rich_text/editors/draftail/__init__.py +2 -20
- 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/date-time-chooser.js +1 -1
- wagtail/admin/static/wagtailadmin/js/draftail.js +1 -1
- wagtail/admin/static/wagtailadmin/js/expanding-formset.js +1 -1
- wagtail/admin/static/wagtailadmin/js/filtered-select.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/preview-panel.js +2 -1
- wagtail/admin/static/wagtailadmin/js/preview-panel.js.LICENSE.txt +11 -0
- 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/widgets.js +1 -1
- wagtail/admin/static/wagtailadmin/js/userbar.js +2 -1
- wagtail/admin/static/wagtailadmin/js/userbar.js.LICENSE.txt +11 -0
- wagtail/admin/static/wagtailadmin/js/vendor.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor.js.LICENSE.txt +0 -12
- wagtail/admin/static/wagtailadmin/js/wagtailadmin.js +1 -1
- wagtail/admin/static/wagtailadmin/js/workflow-action.js +1 -1
- wagtail/admin/templates/wagtailadmin/collection_privacy/ancestor_privacy.html +2 -6
- wagtail/admin/templates/wagtailadmin/generic/index_results.html +1 -17
- wagtail/admin/templates/wagtailadmin/generic/listing_results.html +20 -1
- wagtail/admin/templates/wagtailadmin/home/workflow_objects_to_moderate.html +2 -11
- wagtail/admin/templates/wagtailadmin/page_privacy/ancestor_privacy.html +2 -6
- wagtail/admin/templates/wagtailadmin/page_privacy/no_privacy.html +2 -0
- wagtail/admin/templates/wagtailadmin/pages/_editor_js.html +0 -1
- wagtail/admin/templates/wagtailadmin/pages/action_menu/menu.html +1 -1
- wagtail/admin/templates/wagtailadmin/reports/aging_pages_results.html +54 -0
- wagtail/admin/templates/wagtailadmin/reports/base_page_report.html +1 -17
- wagtail/admin/templates/wagtailadmin/reports/base_page_report_results.html +10 -0
- wagtail/admin/templates/wagtailadmin/reports/base_report.html +1 -40
- wagtail/admin/templates/wagtailadmin/reports/base_report_results.html +1 -0
- wagtail/admin/templates/wagtailadmin/reports/listing/_list_page_report.html +21 -27
- wagtail/admin/templates/wagtailadmin/reports/listing/_list_page_types_usage.html +48 -54
- wagtail/admin/templates/wagtailadmin/reports/{locked_pages.html → locked_pages_results.html} +3 -3
- wagtail/admin/templates/wagtailadmin/reports/page_types_usage_results.html +10 -0
- wagtail/admin/templates/wagtailadmin/reports/site_history_results.html +53 -0
- wagtail/admin/templates/wagtailadmin/reports/workflow_results.html +74 -0
- wagtail/admin/templates/wagtailadmin/reports/workflow_tasks_results.html +56 -0
- wagtail/admin/templates/wagtailadmin/shared/_workflow_init.html +8 -44
- wagtail/admin/templates/wagtailadmin/shared/avatar.html +11 -1
- wagtail/admin/templates/wagtailadmin/shared/dialog/dialog.html +5 -4
- wagtail/admin/templates/wagtailadmin/shared/dropdown/dropdown_button.html +2 -1
- wagtail/admin/templates/wagtailadmin/shared/editing_sessions/list.html +132 -0
- wagtail/admin/templates/wagtailadmin/shared/editing_sessions/module.html +44 -0
- wagtail/admin/templates/wagtailadmin/shared/headers/slim_header.html +7 -1
- wagtail/admin/templates/wagtailadmin/shared/page_status_tag_new.html +1 -1
- wagtail/admin/templates/wagtailadmin/shared/side_panels/checks.html +32 -16
- wagtail/admin/templates/wagtailadmin/skeleton.html +1 -1
- wagtail/admin/templates/wagtailadmin/userbar/item_accessibility.html +9 -11
- wagtail/admin/templatetags/wagtailadmin_tags.py +13 -2
- wagtail/admin/tests/formats/en/__init__.py +0 -0
- wagtail/admin/tests/formats/en/formats.py +1 -0
- wagtail/admin/tests/pages/test_create_page.py +47 -0
- wagtail/admin/tests/pages/test_edit_page.py +10 -8
- wagtail/admin/tests/pages/test_parent_page_chooser_view.py +45 -1
- wagtail/admin/tests/test_checks.py +53 -3
- wagtail/admin/tests/test_collections_views.py +62 -1
- wagtail/admin/tests/test_edit_handlers.py +37 -0
- wagtail/admin/tests/test_editing_sessions.py +1336 -0
- wagtail/admin/tests/test_icon_sprite.py +12 -21
- wagtail/admin/tests/test_page_chooser.py +309 -7
- wagtail/admin/tests/test_privacy.py +82 -0
- wagtail/admin/tests/test_reports_views.py +464 -70
- wagtail/admin/tests/test_userbar.py +93 -6
- wagtail/admin/tests/test_workflows.py +223 -33
- wagtail/admin/tests/viewsets/test_model_viewset.py +151 -2
- wagtail/admin/ui/editing_sessions.py +57 -0
- wagtail/admin/urls/__init__.py +9 -15
- wagtail/admin/urls/editing_sessions.py +17 -0
- wagtail/admin/urls/reports.py +33 -1
- wagtail/admin/userbar.py +77 -20
- wagtail/admin/views/chooser.py +49 -22
- wagtail/admin/views/collections.py +0 -11
- wagtail/admin/views/editing_sessions.py +193 -0
- wagtail/admin/views/generic/__init__.py +1 -0
- wagtail/admin/views/generic/base.py +3 -2
- wagtail/admin/views/generic/history.py +9 -3
- wagtail/admin/views/generic/mixins.py +44 -3
- wagtail/admin/views/generic/models.py +46 -72
- wagtail/admin/views/generic/permissions.py +20 -10
- wagtail/admin/views/home.py +2 -31
- wagtail/admin/views/page_privacy.py +20 -5
- wagtail/admin/views/pages/choose_parent.py +62 -0
- wagtail/admin/views/pages/edit.py +28 -0
- wagtail/admin/views/reports/aging_pages.py +6 -10
- wagtail/admin/views/reports/audit_logging.py +13 -42
- wagtail/admin/views/reports/base.py +31 -4
- wagtail/admin/views/reports/locked_pages.py +5 -8
- wagtail/admin/views/reports/page_types_usage.py +6 -10
- wagtail/admin/views/reports/workflows.py +36 -12
- wagtail/admin/viewsets/base.py +8 -3
- wagtail/admin/viewsets/chooser.py +1 -1
- wagtail/admin/viewsets/model.py +26 -1
- wagtail/admin/wagtail_hooks.py +2 -1
- wagtail/api/v2/filters.py +6 -0
- wagtail/api/v2/tests/test_documents.py +1 -1
- wagtail/api/v2/tests/test_images.py +1 -1
- wagtail/api/v2/tests/test_pages.py +11 -1
- wagtail/api/v2/utils.py +2 -2
- wagtail/blocks/base.py +35 -12
- wagtail/blocks/definition_lookup.py +85 -0
- wagtail/blocks/list_block.py +12 -0
- wagtail/blocks/migrations/migrate_operation.py +2 -0
- wagtail/blocks/stream_block.py +19 -0
- wagtail/blocks/struct_block.py +19 -0
- wagtail/contrib/forms/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/forms/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/forms/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/forms/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/forms/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/frontend_cache/backends/__init__.py +5 -0
- wagtail/contrib/frontend_cache/backends/azure.py +179 -0
- wagtail/contrib/frontend_cache/backends/base.py +28 -0
- wagtail/contrib/frontend_cache/backends/cloudflare.py +114 -0
- wagtail/contrib/frontend_cache/backends/cloudfront.py +99 -0
- wagtail/contrib/frontend_cache/backends/http.py +64 -0
- wagtail/contrib/frontend_cache/tests.py +59 -17
- wagtail/contrib/frontend_cache/utils.py +26 -8
- wagtail/contrib/redirects/filters.py +15 -1
- wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/redirects/locale/bg/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ca/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/cs/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/cy/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/de/LC_MESSAGES/django.po +5 -4
- wagtail/contrib/redirects/locale/el/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/redirects/locale/en/LC_MESSAGES/django.po +37 -72
- wagtail/contrib/redirects/locale/es/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/et/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.po +18 -5
- wagtail/contrib/redirects/locale/fi/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/fr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/gl/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/redirects/locale/hu/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/is_IS/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ja/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/ko/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/mn/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/nb/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/nl/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po +5 -5
- wagtail/contrib/redirects/locale/pt_PT/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ro/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ru/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/redirects/locale/sk_SK/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/sl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/uk/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/zh/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/models.py +6 -5
- wagtail/contrib/redirects/templates/wagtailredirects/edit.html +1 -38
- wagtail/contrib/redirects/tests/test_redirects.py +141 -1
- wagtail/contrib/redirects/urls.py +1 -2
- wagtail/contrib/redirects/views.py +39 -80
- wagtail/contrib/routable_page/models.py +6 -4
- wagtail/contrib/routable_page/tests.py +11 -0
- wagtail/contrib/search_promotions/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/be/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/search_promotions/locale/ca/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/search_promotions/locale/cs/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/cy/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/de/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/search_promotions/locale/es/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/et/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/fa/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/fi/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.po +9 -6
- wagtail/contrib/search_promotions/locale/gl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/search_promotions/locale/hu/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/ja/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ko/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/lt/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/nb/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/nl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/search_promotions/locale/pt_BR/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/pt_PT/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ro/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ru/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/search_promotions/locale/sk_SK/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.po +62 -8
- wagtail/contrib/search_promotions/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.po +9 -6
- wagtail/contrib/search_promotions/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/uk/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/zh_Hans/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/locale/en/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/settings/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/settings/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/sk_SK/LC_MESSAGES/django.po +10 -1
- wagtail/contrib/settings/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/simple_translation/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/simple_translation/locale/en/LC_MESSAGES/django.po +5 -1
- wagtail/contrib/simple_translation/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/simple_translation/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/simple_translation/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/simple_translation/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/simple_translation/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/simple_translation/models.py +2 -1
- wagtail/contrib/styleguide/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/styleguide/locale/en/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/styleguide/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/styleguide/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/styleguide/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/styleguide/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/styleguide/locale/sk_SK/LC_MESSAGES/django.po +5 -1
- wagtail/contrib/styleguide/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/styleguide/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/styleguide/locale/zh_Hans/LC_MESSAGES/django.po +3 -0
- wagtail/contrib/table_block/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/table_block/locale/en/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 +27 -1
- wagtail/contrib/table_block/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/table_block/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/table_block/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.po +29 -3
- wagtail/contrib/table_block/static/table_block/js/table.js +1 -1
- wagtail/contrib/typed_table_block/blocks.py +19 -0
- wagtail/contrib/typed_table_block/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/typed_table_block/locale/en/LC_MESSAGES/django.po +10 -10
- wagtail/contrib/typed_table_block/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/fr/LC_MESSAGES/django.po +12 -1
- wagtail/contrib/typed_table_block/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/typed_table_block/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/typed_table_block/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/typed_table_block/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/sl/LC_MESSAGES/django.po +14 -4
- wagtail/contrib/typed_table_block/static/typed_table_block/js/typed_table_block.js +1 -1
- wagtail/contrib/typed_table_block/tests.py +38 -0
- wagtail/coreutils.py +1 -1
- wagtail/documents/__init__.py +1 -1
- wagtail/documents/locale/ar/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/be/LC_MESSAGES/django.po +11 -11
- wagtail/documents/locale/bg/LC_MESSAGES/django.po +4 -4
- wagtail/documents/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ca/LC_MESSAGES/django.po +12 -11
- wagtail/documents/locale/cs/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/de/LC_MESSAGES/django.po +10 -8
- wagtail/documents/locale/el/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/en/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/es/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/et/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/fa/LC_MESSAGES/django.po +17 -8
- wagtail/documents/locale/fi/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/fr/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/gl/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/hr_HR/LC_MESSAGES/django.po +14 -14
- wagtail/documents/locale/hu/LC_MESSAGES/django.po +12 -12
- wagtail/documents/locale/id_ID/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/it/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ja/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ko/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/lt/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/mi/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/mn/LC_MESSAGES/django.po +5 -4
- wagtail/documents/locale/nb/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/nl/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/pl/LC_MESSAGES/django.po +11 -11
- wagtail/documents/locale/pt_BR/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/pt_PT/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ro/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ru/LC_MESSAGES/django.po +9 -9
- wagtail/documents/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/sk_SK/LC_MESSAGES/django.po +55 -12
- wagtail/documents/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/sl/LC_MESSAGES/django.po +30 -10
- wagtail/documents/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/documents/locale/sv/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/th/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/tr/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/tr_TR/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/uk/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/zh/LC_MESSAGES/django.po +2 -2
- wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.po +11 -5
- wagtail/documents/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/documents/models.py +5 -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/tests/test_models.py +5 -1
- wagtail/embeds/apps.py +2 -0
- wagtail/embeds/embeds.py +12 -14
- wagtail/embeds/finders/__init__.py +2 -0
- wagtail/embeds/finders/facebook.py +17 -33
- wagtail/embeds/finders/instagram.py +19 -16
- wagtail/embeds/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/embeds/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/embeds/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/embeds/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/embeds/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/embeds/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/embeds/signal_handlers.py +13 -0
- wagtail/embeds/tests/test_embeds.py +7 -7
- wagtail/fields.py +58 -14
- wagtail/images/__init__.py +1 -1
- wagtail/images/locale/ar/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/images/locale/ca/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/cs/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/cy/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/de/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/el/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/en/LC_MESSAGES/django.po +34 -34
- wagtail/images/locale/es/LC_MESSAGES/django.po +10 -10
- wagtail/images/locale/et/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/fa/LC_MESSAGES/django.po +28 -9
- wagtail/images/locale/fi/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/fr/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/gl/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/hu/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/id_ID/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/it/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ja/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ko/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/lt/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/nb/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/nl/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/pl/LC_MESSAGES/django.po +11 -11
- wagtail/images/locale/pt_BR/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/pt_PT/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ro/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ru/LC_MESSAGES/django.po +11 -11
- wagtail/images/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/sk_SK/LC_MESSAGES/django.po +23 -8
- wagtail/images/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/sl/LC_MESSAGES/django.po +44 -12
- wagtail/images/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/sv/LC_MESSAGES/django.po +20 -8
- wagtail/images/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/th/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/tr/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/tr_TR/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/uk/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/zh_Hans/LC_MESSAGES/django.po +49 -5
- wagtail/images/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/images/models.py +3 -0
- 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/templates/wagtailimages/images/edit.html +4 -4
- wagtail/images/tests/test_admin_views.py +58 -2
- wagtail/images/tests/test_image_operations.py +12 -0
- wagtail/images/tests/tests.py +27 -2
- wagtail/images/views/chooser.py +6 -1
- wagtail/images/views/images.py +7 -3
- wagtail/images/views/serve.py +1 -0
- wagtail/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/locale/en/LC_MESSAGES/django.po +84 -80
- wagtail/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/fa/LC_MESSAGES/django.po +3 -0
- wagtail/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/fr/LC_MESSAGES/django.po +23 -4
- wagtail/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/sv/LC_MESSAGES/django.po +11 -2
- wagtail/locales/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/en/LC_MESSAGES/django.po +2 -2
- wagtail/locales/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/locales/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/locales/tests.py +16 -0
- wagtail/locales/wagtail_hooks.py +0 -9
- wagtail/migrations/0094_alter_page_locale.py +19 -0
- wagtail/models/__init__.py +11 -5
- wagtail/models/i18n.py +6 -1
- wagtail/project_template/requirements.txt +1 -1
- wagtail/search/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/search/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/search/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/fa/LC_MESSAGES/django.po +24 -0
- wagtail/search/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/search/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/search/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/pt_BR/LC_MESSAGES/django.po +2 -2
- wagtail/search/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/search/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/search/tests/test_queries.py +24 -0
- wagtail/search/utils.py +6 -12
- wagtail/signals.py +4 -0
- wagtail/sites/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/sites/locale/en/LC_MESSAGES/django.po +2 -2
- wagtail/sites/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/sites/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/sites/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/sites/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/sites/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/sites/tests.py +15 -0
- wagtail/sites/wagtail_hooks.py +0 -9
- wagtail/snippets/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/snippets/locale/ca/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/de/LC_MESSAGES/django.po +5 -5
- wagtail/snippets/locale/en/LC_MESSAGES/django.po +9 -9
- wagtail/snippets/locale/es/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/fa/LC_MESSAGES/django.po +17 -1
- wagtail/snippets/locale/fr/LC_MESSAGES/django.po +5 -5
- wagtail/snippets/locale/gl/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/snippets/locale/hu/LC_MESSAGES/django.po +7 -7
- wagtail/snippets/locale/is_IS/LC_MESSAGES/django.po +5 -5
- wagtail/snippets/locale/it/LC_MESSAGES/django.po +5 -5
- wagtail/snippets/locale/ko/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/nb/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/nl/LC_MESSAGES/django.po +8 -8
- wagtail/snippets/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/snippets/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/ro/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/ru/LC_MESSAGES/django.po +8 -8
- wagtail/snippets/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/sk_SK/LC_MESSAGES/django.po +3 -0
- wagtail/snippets/locale/sl/LC_MESSAGES/django.po +8 -8
- wagtail/snippets/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/snippets/locale/sv/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/zh_Hans/LC_MESSAGES/django.po +40 -1
- wagtail/snippets/permissions.py +5 -3
- wagtail/snippets/static/wagtailsnippets/js/snippet-chooser-telepath.js +1 -1
- wagtail/snippets/static/wagtailsnippets/js/snippet-chooser.js +1 -1
- wagtail/snippets/templates/wagtailsnippets/snippets/action_menu/menu.html +1 -1
- wagtail/snippets/tests/test_snippets.py +78 -12
- wagtail/snippets/tests/test_viewset.py +22 -0
- wagtail/snippets/views/snippets.py +19 -14
- wagtail/snippets/wagtail_hooks.py +2 -10
- wagtail/templatetags/wagtailcore_tags.py +3 -0
- wagtail/test/dummy_external_storage.py +1 -1
- wagtail/test/i18n/migrations/0003_alter_clusterabletestmodel_locale_and_more.py +40 -0
- wagtail/test/routablepage/models.py +4 -0
- wagtail/test/snippets/migrations/0012_alter_translatablesnippet_locale.py +20 -0
- wagtail/test/testapp/migrations/0038_sociallink.py +52 -0
- wagtail/test/testapp/migrations/0039_alter_eventcategory_locale_and_more.py +45 -0
- wagtail/test/testapp/models.py +24 -0
- wagtail/test/testapp/views.py +1 -0
- wagtail/test/testapp/wagtail_hooks.py +9 -0
- wagtail/test/urls_multilang.py +6 -1
- wagtail/test/urls_multilang_non_root.py +11 -0
- wagtail/tests/streamfield_migrations/test_migrations.py +53 -12
- wagtail/tests/test_audit_log.py +72 -2
- wagtail/tests/test_blocks.py +103 -0
- wagtail/tests/test_signals.py +49 -2
- wagtail/tests/test_streamfield.py +153 -0
- wagtail/tests/test_utils.py +42 -1
- wagtail/tests/tests.py +5 -0
- wagtail/users/apps.py +1 -0
- wagtail/users/forms.py +7 -0
- wagtail/users/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/be/LC_MESSAGES/django.po +9 -9
- wagtail/users/locale/ca/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/cs/LC_MESSAGES/django.po +6 -6
- wagtail/users/locale/cy/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/de/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/en/LC_MESSAGES/django.po +55 -50
- wagtail/users/locale/es/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/et/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/fa/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/fa/LC_MESSAGES/django.po +69 -7
- wagtail/users/locale/fi/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/fr/LC_MESSAGES/django.po +52 -11
- wagtail/users/locale/gl/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/hr_HR/LC_MESSAGES/django.po +10 -10
- wagtail/users/locale/hu/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/it/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/ja/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/ko/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/lv/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/mn/LC_MESSAGES/django.po +5 -4
- wagtail/users/locale/nb/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/nl/LC_MESSAGES/django.po +6 -6
- wagtail/users/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/users/locale/pt_BR/LC_MESSAGES/django.po +9 -9
- wagtail/users/locale/pt_PT/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/ro/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/ru/LC_MESSAGES/django.po +11 -11
- wagtail/users/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/sk_SK/LC_MESSAGES/django.po +12 -5
- wagtail/users/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/sl/LC_MESSAGES/django.po +56 -12
- wagtail/users/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/sv/LC_MESSAGES/django.po +49 -10
- wagtail/users/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/uk/LC_MESSAGES/django.po +8 -8
- wagtail/users/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/zh_Hans/LC_MESSAGES/django.po +49 -5
- wagtail/users/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
- wagtail/users/models.py +1 -0
- wagtail/users/templates/wagtailusers/groups/includes/formatted_permissions.html +3 -2
- wagtail/users/templatetags/wagtailusers_tags.py +9 -0
- wagtail/users/tests/__init__.py +7 -1
- wagtail/users/tests/test_admin_views.py +117 -32
- wagtail/users/views/groups.py +4 -0
- wagtail/users/views/users.py +58 -14
- wagtail/users/wagtail_hooks.py +7 -123
- wagtail/utils/utils.py +27 -0
- wagtail/utils/version.py +5 -2
- wagtail-6.2rc1.dist-info/METADATA +78 -0
- {wagtail-6.1.2.dist-info → wagtail-6.2rc1.dist-info}/RECORD +634 -607
- {wagtail-6.1.2.dist-info → wagtail-6.2rc1.dist-info}/WHEEL +1 -1
- wagtail/admin/templates/wagtailadmin/reports/aging_pages.html +0 -58
- wagtail/admin/templates/wagtailadmin/reports/page_types_usage.html +0 -18
- wagtail/admin/templates/wagtailadmin/reports/site_history.html +0 -57
- wagtail/admin/templates/wagtailadmin/reports/workflow.html +0 -81
- wagtail/admin/templates/wagtailadmin/reports/workflow_tasks.html +0 -63
- wagtail/contrib/frontend_cache/backends.py +0 -400
- wagtail/contrib/redirects/templates/wagtailredirects/list.html +0 -43
- wagtail/contrib/redirects/templates/wagtailredirects/reports/redirects_report.html +0 -14
- wagtail/contrib/redirects/tests/test_reports_view.py +0 -82
- wagtail-6.1.2.dist-info/METADATA +0 -78
- {wagtail-6.1.2.dist-info → wagtail-6.2rc1.dist-info}/LICENSE +0 -0
- {wagtail-6.1.2.dist-info → wagtail-6.2rc1.dist-info}/entry_points.txt +0 -0
- {wagtail-6.1.2.dist-info → wagtail-6.2rc1.dist-info}/top_level.txt +0 -0
|
@@ -365,11 +365,11 @@ msgstr "Bu kolleksiyon silinemedi çünkü boş değil ve şunları içeriyor:"
|
|
|
365
365
|
|
|
366
366
|
#, python-format
|
|
367
367
|
msgid ""
|
|
368
|
-
"No collections have been created. Why not <a
|
|
369
|
-
"\">add one</a>?"
|
|
368
|
+
"No collections have been created. Why not <a "
|
|
369
|
+
"href=\"%(add_collection_url)s\">add one</a>?"
|
|
370
370
|
msgstr ""
|
|
371
|
-
"Hiç koleksiyon oluşturulmadı. Neden bir adet <a
|
|
372
|
-
"\">eklemiyorsun</a>?"
|
|
371
|
+
"Hiç koleksiyon oluşturulmadı. Neden bir adet <a "
|
|
372
|
+
"href=\"%(add_collection_url)s\">eklemiyorsun</a>?"
|
|
373
373
|
|
|
374
374
|
msgid "Yes, delete"
|
|
375
375
|
msgstr "Evet, sil"
|
|
@@ -582,11 +582,11 @@ msgstr ""
|
|
|
582
582
|
|
|
583
583
|
#, python-format
|
|
584
584
|
msgid ""
|
|
585
|
-
"No collections have been created. Why not <a
|
|
586
|
-
"\">add one</a>?"
|
|
585
|
+
"No collections have been created. Why not <a "
|
|
586
|
+
"href=\"%(add_collection_url)s\">add one</a>?"
|
|
587
587
|
msgstr ""
|
|
588
|
-
"Жодної колекції не створено. Чому б не <a
|
|
589
|
-
"\">створити одну</a>?"
|
|
588
|
+
"Жодної колекції не створено. Чому б не <a "
|
|
589
|
+
"href=\"%(add_collection_url)s\">створити одну</a>?"
|
|
590
590
|
|
|
591
591
|
#, python-format
|
|
592
592
|
msgid "Sorry, there are no matches for \"<em>%(search_query)s</em>\""
|
|
@@ -1237,8 +1237,8 @@ msgid "Choose when this page should go live and/or expire"
|
|
|
1237
1237
|
msgstr "Встановіть час автоматичної публікації / чи зняття з публікації"
|
|
1238
1238
|
|
|
1239
1239
|
msgid ""
|
|
1240
|
-
"This publishing schedule will only take effect after you select the
|
|
1241
|
-
"\" option"
|
|
1240
|
+
"This publishing schedule will only take effect after you select the "
|
|
1241
|
+
"\"Publish\" option"
|
|
1242
1242
|
msgstr ""
|
|
1243
1243
|
"Графік публікації почне працювати лише після того, як ви натиснете кнопку "
|
|
1244
1244
|
"\"Опублікувати\""
|
|
@@ -1532,8 +1532,9 @@ msgstr "Створити"
|
|
|
1532
1532
|
#, python-format
|
|
1533
1533
|
msgid ""
|
|
1534
1534
|
"Workflows apply to child pages too. If you select a parent page here, its "
|
|
1535
|
-
"child pages will also use this workflow. See <a
|
|
1536
|
-
"\">the list of the pages</a> your workflow
|
|
1535
|
+
"child pages will also use this workflow. See <a "
|
|
1536
|
+
"href=\"%(workflow_pages_url)s\">the list of the pages</a> your workflow "
|
|
1537
|
+
"applies to."
|
|
1537
1538
|
msgstr ""
|
|
1538
1539
|
"Робочі процеси також застосовуються до дочірніх сторінок. Якщо тут вибрати "
|
|
1539
1540
|
"батьківську сторінку, її дочірні сторінки також використовуватимуть цей "
|
|
@@ -1574,8 +1575,8 @@ msgstr "Крок %(step_number)s"
|
|
|
1574
1575
|
msgid ""
|
|
1575
1576
|
"No workflows have been created. Why not <a href=\"%(add_url)s\">add one</a>?"
|
|
1576
1577
|
msgstr ""
|
|
1577
|
-
"Жодного робочого процесу не створено. Чому б не <a
|
|
1578
|
-
"\">додати один</a>?"
|
|
1578
|
+
"Жодного робочого процесу не створено. Чому б не <a "
|
|
1579
|
+
"href=\"%(add_url)s\">додати один</a>?"
|
|
1579
1580
|
|
|
1580
1581
|
#, python-format
|
|
1581
1582
|
msgid ""
|
|
Binary file
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
# Vincent Zhao <zhaopu2008@gmail.com>, 2017-2018
|
|
22
22
|
# yi huang <yi.codeplayer@gmail.com>, 2018
|
|
23
23
|
# Yin Guanhao <sopium@mysterious.site>, 2020-2021
|
|
24
|
+
# Yu Cheng, 2024
|
|
24
25
|
# 祝沙军 <zhushajun@gmail.com>, 2017,2020
|
|
25
26
|
# 汇民 王 <whuim@qq.com>, 2017-2021
|
|
26
27
|
# 祝沙军 <zhushajun@gmail.com>, 2017,2020
|
|
@@ -32,7 +33,7 @@ msgstr ""
|
|
|
32
33
|
"Report-Msgid-Bugs-To: \n"
|
|
33
34
|
"POT-Creation-Date: 2024-05-02 10:04+0100\n"
|
|
34
35
|
"PO-Revision-Date: 2014-02-21 15:50+0000\n"
|
|
35
|
-
"Last-Translator:
|
|
36
|
+
"Last-Translator: Yu Cheng, 2024\n"
|
|
36
37
|
"Language-Team: Chinese (China) (http://app.transifex.com/torchbox/wagtail/"
|
|
37
38
|
"language/zh_CN/)\n"
|
|
38
39
|
"MIME-Version: 1.0\n"
|
|
@@ -104,6 +105,9 @@ msgstr "集合"
|
|
|
104
105
|
msgid "Tag"
|
|
105
106
|
msgstr "标签"
|
|
106
107
|
|
|
108
|
+
msgid "Filter by up to ten most popular tags."
|
|
109
|
+
msgstr "按十个最流行的标签进行过滤。"
|
|
110
|
+
|
|
107
111
|
msgid "Preferred language"
|
|
108
112
|
msgstr "首选语言"
|
|
109
113
|
|
|
@@ -256,6 +260,18 @@ msgstr "为此页选择一个新的父页面"
|
|
|
256
260
|
msgid "Parent page"
|
|
257
261
|
msgstr "上一级页面"
|
|
258
262
|
|
|
263
|
+
#, python-format
|
|
264
|
+
msgid "You do not have permission to create a page under \"%(page_title)s\"."
|
|
265
|
+
msgstr "您无权在“%(page_title)s”下创建页面。"
|
|
266
|
+
|
|
267
|
+
#, python-format
|
|
268
|
+
msgid ""
|
|
269
|
+
"You cannot create a page of type \"%(page_type)s\" under \"%(page_title)s\"."
|
|
270
|
+
msgstr "您无法在“%(page_title)s”下创建“%(page_type)s”类型页面。"
|
|
271
|
+
|
|
272
|
+
msgid "Search…"
|
|
273
|
+
msgstr "搜索…"
|
|
274
|
+
|
|
259
275
|
#, python-format
|
|
260
276
|
msgid "Tag(s) %(value_too_long)s are over %(max_tag_length)d characters"
|
|
261
277
|
msgstr "标签长度 %(value_too_long)s 超过 %(max_tag_length)d 个字符"
|
|
@@ -538,15 +554,15 @@ msgstr "转换为内部链接"
|
|
|
538
554
|
|
|
539
555
|
#, python-format
|
|
540
556
|
msgid ""
|
|
541
|
-
"The URL you entered, <a target=\"_blank\" rel=\"noreferrer\"
|
|
542
|
-
"
|
|
543
|
-
"internal page %(page)s, which has the URL <a target=\"_blank\"
|
|
544
|
-
"
|
|
557
|
+
"The URL you entered, <a target=\"_blank\" rel=\"noreferrer\" "
|
|
558
|
+
"href=\"%(submitted_url)s\">%(submitted_url)s</a>, looks like it matches the "
|
|
559
|
+
"internal page %(page)s, which has the URL <a target=\"_blank\" "
|
|
560
|
+
"rel=\"noreferrer\" href=\"%(internal_url)s\">%(internal_url)s</a>."
|
|
545
561
|
msgstr ""
|
|
546
|
-
"您输入的URL,<a target=\"_blank\" rel=\"noreferrer\"
|
|
547
|
-
"\">%(submitted_url)s</a>,看起来与内部页面%(page)s
|
|
548
|
-
"target=\"_blank\" rel=\"noreferrer\"
|
|
549
|
-
"%(internal_url)s</a>。"
|
|
562
|
+
"您输入的URL,<a target=\"_blank\" rel=\"noreferrer\" "
|
|
563
|
+
"href=\"%(submitted_url)s\">%(submitted_url)s</a>,看起来与内部页面%(page)s匹"
|
|
564
|
+
"配,该页面的URL为<a target=\"_blank\" rel=\"noreferrer\" "
|
|
565
|
+
"href=\"%(internal_url)s\">%(internal_url)s</a>。"
|
|
550
566
|
|
|
551
567
|
#, python-format
|
|
552
568
|
msgid ""
|
|
@@ -623,8 +639,8 @@ msgstr "集合非空,不能删除,它包含有:"
|
|
|
623
639
|
|
|
624
640
|
#, python-format
|
|
625
641
|
msgid ""
|
|
626
|
-
"No collections have been created. Why not <a
|
|
627
|
-
"\">add one</a>?"
|
|
642
|
+
"No collections have been created. Why not <a "
|
|
643
|
+
"href=\"%(add_collection_url)s\">add one</a>?"
|
|
628
644
|
msgstr ""
|
|
629
645
|
"没有创建任何集合,为何不<a href=\"%(add_collection_url)s\">创建一个</a>"
|
|
630
646
|
|
|
@@ -667,6 +683,10 @@ msgstr ""
|
|
|
667
683
|
"您提交审核的%(model_name)s被工作流<strong>%(workflow)s</strong>中的任务"
|
|
668
684
|
"<strong>%(task)s</strong>标记为需要更改。"
|
|
669
685
|
|
|
686
|
+
#, python-format
|
|
687
|
+
msgid "Would you still like to publish this %(model_name)s?"
|
|
688
|
+
msgstr "您还想发布这个 %(model_name)s 吗?"
|
|
689
|
+
|
|
670
690
|
msgid "Cancel"
|
|
671
691
|
msgstr "取消"
|
|
672
692
|
|
|
@@ -676,6 +696,10 @@ msgstr "评论"
|
|
|
676
696
|
msgid "Actions"
|
|
677
697
|
msgstr "动作"
|
|
678
698
|
|
|
699
|
+
#, python-format
|
|
700
|
+
msgid "There are no %(model_name)s to display."
|
|
701
|
+
msgstr "没有可显示的 %(model_name)s。"
|
|
702
|
+
|
|
679
703
|
msgid "Update"
|
|
680
704
|
msgstr "更新"
|
|
681
705
|
|
|
@@ -1210,6 +1234,9 @@ msgstr "排序"
|
|
|
1210
1234
|
msgid "Enable ordering of child pages"
|
|
1211
1235
|
msgstr "启用子页面排序"
|
|
1212
1236
|
|
|
1237
|
+
msgid "Search the whole site"
|
|
1238
|
+
msgstr "搜索整个网站"
|
|
1239
|
+
|
|
1213
1240
|
msgid "Sites menu"
|
|
1214
1241
|
msgstr "站点菜单"
|
|
1215
1242
|
|
|
@@ -1284,9 +1311,21 @@ msgstr "没有页面符合此报告的条件。"
|
|
|
1284
1311
|
msgid "Updated"
|
|
1285
1312
|
msgstr "已更新"
|
|
1286
1313
|
|
|
1314
|
+
msgid "App"
|
|
1315
|
+
msgstr "应用"
|
|
1316
|
+
|
|
1287
1317
|
msgid "Pages"
|
|
1288
1318
|
msgstr "页面"
|
|
1289
1319
|
|
|
1320
|
+
msgid "Last edited page"
|
|
1321
|
+
msgstr "最后编辑的页面"
|
|
1322
|
+
|
|
1323
|
+
msgid "Last edit"
|
|
1324
|
+
msgstr "最后编辑"
|
|
1325
|
+
|
|
1326
|
+
msgid "No page types found."
|
|
1327
|
+
msgstr "未找到页面类型。"
|
|
1328
|
+
|
|
1290
1329
|
msgid "Locking status"
|
|
1291
1330
|
msgstr "锁定状态"
|
|
1292
1331
|
|
|
@@ -1336,12 +1375,18 @@ msgstr "开始于"
|
|
|
1336
1375
|
msgid "Incomplete task"
|
|
1337
1376
|
msgstr "未完成的任务"
|
|
1338
1377
|
|
|
1378
|
+
msgid "No pages/snippets have been submitted for moderation yet"
|
|
1379
|
+
msgstr "尚未提交任何页面/片段进行审核"
|
|
1380
|
+
|
|
1339
1381
|
msgid "By Workflow"
|
|
1340
1382
|
msgstr "按工作流"
|
|
1341
1383
|
|
|
1342
1384
|
msgid "Completed at"
|
|
1343
1385
|
msgstr "完成于"
|
|
1344
1386
|
|
|
1387
|
+
msgid "Clear"
|
|
1388
|
+
msgstr "清除"
|
|
1389
|
+
|
|
1345
1390
|
#, python-format
|
|
1346
1391
|
msgid "Page %(page_num)s of %(total_pages)s."
|
|
1347
1392
|
msgstr "第 %(page_num)s 页,共 %(total_pages)s 页。"
|
|
@@ -1370,12 +1415,27 @@ msgstr "应用过滤器"
|
|
|
1370
1415
|
msgid "Add comment"
|
|
1371
1416
|
msgstr "添加评论"
|
|
1372
1417
|
|
|
1418
|
+
msgid "Show filters"
|
|
1419
|
+
msgstr "显示过滤器"
|
|
1420
|
+
|
|
1421
|
+
msgid "Filter by"
|
|
1422
|
+
msgstr "过滤"
|
|
1423
|
+
|
|
1373
1424
|
msgid "Back"
|
|
1374
1425
|
msgstr "返回"
|
|
1375
1426
|
|
|
1376
1427
|
msgid "History"
|
|
1377
1428
|
msgstr "历史"
|
|
1378
1429
|
|
|
1430
|
+
msgid "Keyboard shortcuts"
|
|
1431
|
+
msgstr "键盘快捷键"
|
|
1432
|
+
|
|
1433
|
+
msgid "All keyboard shortcuts"
|
|
1434
|
+
msgstr "所有键盘快捷键"
|
|
1435
|
+
|
|
1436
|
+
msgid "Keyboard shortcut"
|
|
1437
|
+
msgstr "快捷键"
|
|
1438
|
+
|
|
1379
1439
|
msgid "Current page status:"
|
|
1380
1440
|
msgstr "当前页面状态:"
|
|
1381
1441
|
|
|
@@ -1413,6 +1473,9 @@ msgstr "否,不取消发布计划"
|
|
|
1413
1473
|
msgid "Other searches"
|
|
1414
1474
|
msgstr "其它搜索"
|
|
1415
1475
|
|
|
1476
|
+
msgid "Minimap"
|
|
1477
|
+
msgstr "小地图"
|
|
1478
|
+
|
|
1416
1479
|
msgid "Side panels"
|
|
1417
1480
|
msgstr "边栏"
|
|
1418
1481
|
|
|
@@ -1449,6 +1512,9 @@ msgstr "页面可见性: "
|
|
|
1449
1512
|
msgid "Once live anyone can view"
|
|
1450
1513
|
msgstr "一旦发布,任何人可看"
|
|
1451
1514
|
|
|
1515
|
+
msgid "Not visible to the public"
|
|
1516
|
+
msgstr "对外不可见"
|
|
1517
|
+
|
|
1452
1518
|
msgid "Privacy changes apply to all children of this page too."
|
|
1453
1519
|
msgstr "私有设置也会应用到此页面的所有子页面。"
|
|
1454
1520
|
|
|
@@ -1592,8 +1658,9 @@ msgstr "创建"
|
|
|
1592
1658
|
#, python-format
|
|
1593
1659
|
msgid ""
|
|
1594
1660
|
"Workflows apply to child pages too. If you select a parent page here, its "
|
|
1595
|
-
"child pages will also use this workflow. See <a
|
|
1596
|
-
"\">the list of the pages</a> your workflow
|
|
1661
|
+
"child pages will also use this workflow. See <a "
|
|
1662
|
+
"href=\"%(workflow_pages_url)s\">the list of the pages</a> your workflow "
|
|
1663
|
+
"applies to."
|
|
1597
1664
|
msgstr ""
|
|
1598
1665
|
"工作流也应用于子页面。如果在此处选择父页面,则其子页面也将使用此工作流。请参"
|
|
1599
1666
|
"见您的工作流应用的<a href=\"%(workflow_pages_url)s\">页面列表</a>。"
|
|
@@ -1864,6 +1931,10 @@ msgstr "检查"
|
|
|
1864
1931
|
msgid "Delete '%(title)s'"
|
|
1865
1932
|
msgstr "删除“%(title)s”"
|
|
1866
1933
|
|
|
1934
|
+
#, python-format
|
|
1935
|
+
msgid "More options for '%(title)s'"
|
|
1936
|
+
msgstr "“%(title)s”的更多选项"
|
|
1937
|
+
|
|
1867
1938
|
msgid "Editing"
|
|
1868
1939
|
msgstr "正在编辑"
|
|
1869
1940
|
|
|
@@ -509,8 +509,8 @@ msgstr "集合非空,不能刪除,它包含有:"
|
|
|
509
509
|
|
|
510
510
|
#, python-format
|
|
511
511
|
msgid ""
|
|
512
|
-
"No collections have been created. Why not <a
|
|
513
|
-
"\">add one</a>?"
|
|
512
|
+
"No collections have been created. Why not <a "
|
|
513
|
+
"href=\"%(add_collection_url)s\">add one</a>?"
|
|
514
514
|
msgstr ""
|
|
515
515
|
"沒有創建任何集合,為何不<a href=\"%(add_collection_url)s\">創建一個</a>"
|
|
516
516
|
|
wagtail/admin/menu.py
CHANGED
|
@@ -228,7 +228,7 @@ class WagtailMenuRegisterable:
|
|
|
228
228
|
url=self.menu_url,
|
|
229
229
|
name=self.menu_name,
|
|
230
230
|
icon_name=self.menu_icon,
|
|
231
|
-
order=order
|
|
231
|
+
order=order if order is not None else self.menu_order,
|
|
232
232
|
)
|
|
233
233
|
|
|
234
234
|
@cached_property
|
|
@@ -286,7 +286,7 @@ class WagtailMenuRegisterableGroup(WagtailMenuRegisterable):
|
|
|
286
286
|
menu=Menu(items=self.get_submenu_items()),
|
|
287
287
|
name=self.menu_name,
|
|
288
288
|
icon_name=self.menu_icon,
|
|
289
|
-
order=order
|
|
289
|
+
order=order if order is not None else self.menu_order,
|
|
290
290
|
)
|
|
291
291
|
|
|
292
292
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Generated by Django 5.1a1 on 2024-07-01 16:13
|
|
2
|
+
|
|
3
|
+
import django.db.models.deletion
|
|
4
|
+
from django.conf import settings
|
|
5
|
+
from django.db import migrations, models
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Migration(migrations.Migration):
|
|
9
|
+
|
|
10
|
+
dependencies = [
|
|
11
|
+
("contenttypes", "0002_remove_content_type_name"),
|
|
12
|
+
("wagtailadmin", "0003_admin_managed"),
|
|
13
|
+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
operations = [
|
|
17
|
+
migrations.CreateModel(
|
|
18
|
+
name="EditingSession",
|
|
19
|
+
fields=[
|
|
20
|
+
(
|
|
21
|
+
"id",
|
|
22
|
+
models.AutoField(
|
|
23
|
+
auto_created=True,
|
|
24
|
+
primary_key=True,
|
|
25
|
+
serialize=False,
|
|
26
|
+
verbose_name="ID",
|
|
27
|
+
),
|
|
28
|
+
),
|
|
29
|
+
("object_id", models.CharField(max_length=255)),
|
|
30
|
+
("last_seen_at", models.DateTimeField()),
|
|
31
|
+
(
|
|
32
|
+
"content_type",
|
|
33
|
+
models.ForeignKey(
|
|
34
|
+
on_delete=django.db.models.deletion.CASCADE,
|
|
35
|
+
related_name="+",
|
|
36
|
+
to="contenttypes.contenttype",
|
|
37
|
+
),
|
|
38
|
+
),
|
|
39
|
+
(
|
|
40
|
+
"user",
|
|
41
|
+
models.ForeignKey(
|
|
42
|
+
on_delete=django.db.models.deletion.CASCADE,
|
|
43
|
+
related_name="editing_sessions",
|
|
44
|
+
to=settings.AUTH_USER_MODEL,
|
|
45
|
+
),
|
|
46
|
+
),
|
|
47
|
+
],
|
|
48
|
+
options={
|
|
49
|
+
"indexes": [
|
|
50
|
+
models.Index(
|
|
51
|
+
fields=["content_type", "object_id"],
|
|
52
|
+
name="wagtailadmi_content_717955_idx",
|
|
53
|
+
)
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
),
|
|
57
|
+
]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated by Django 5.1a1 on 2024-07-03 19:02
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("wagtailadmin", "0004_editingsession"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name="editingsession",
|
|
15
|
+
name="is_editing",
|
|
16
|
+
field=models.BooleanField(default=False),
|
|
17
|
+
),
|
|
18
|
+
]
|
wagtail/admin/models.py
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
from django.contrib.auth import get_user_model
|
|
2
|
+
from django.contrib.contenttypes.fields import GenericForeignKey
|
|
1
3
|
from django.contrib.contenttypes.models import ContentType
|
|
2
|
-
from django.db
|
|
4
|
+
from django.db import models
|
|
5
|
+
from django.db.models import Count
|
|
6
|
+
from django.utils import timezone
|
|
7
|
+
from django.utils.translation import gettext_lazy as _
|
|
3
8
|
from modelcluster.fields import ParentalKey
|
|
4
9
|
from taggit.models import Tag
|
|
5
10
|
|
|
@@ -14,11 +19,11 @@ from wagtail.models import Page
|
|
|
14
19
|
# A dummy model that exists purely to attach the access_admin permission type to, so that it
|
|
15
20
|
# doesn't get identified as a stale content type and removed by the remove_stale_contenttypes
|
|
16
21
|
# management command.
|
|
17
|
-
class Admin(Model):
|
|
22
|
+
class Admin(models.Model):
|
|
18
23
|
class Meta:
|
|
19
24
|
default_permissions = [] # don't create the default add / change / delete / view perms
|
|
20
25
|
permissions = [
|
|
21
|
-
("access_admin", "Can access Wagtail admin"),
|
|
26
|
+
("access_admin", _("Can access Wagtail admin")),
|
|
22
27
|
]
|
|
23
28
|
|
|
24
29
|
|
|
@@ -67,3 +72,31 @@ def popular_tags_for_model(model, count=10):
|
|
|
67
72
|
.annotate(item_count=Count("taggit_taggeditem_items"))
|
|
68
73
|
.order_by("-item_count")[:count]
|
|
69
74
|
)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class EditingSession(models.Model):
|
|
78
|
+
user = models.ForeignKey(
|
|
79
|
+
get_user_model(),
|
|
80
|
+
on_delete=models.CASCADE,
|
|
81
|
+
related_name="editing_sessions",
|
|
82
|
+
)
|
|
83
|
+
content_type = models.ForeignKey(
|
|
84
|
+
ContentType, on_delete=models.CASCADE, related_name="+"
|
|
85
|
+
)
|
|
86
|
+
object_id = models.CharField(max_length=255)
|
|
87
|
+
content_object = GenericForeignKey(
|
|
88
|
+
"content_type", "object_id", for_concrete_model=False
|
|
89
|
+
)
|
|
90
|
+
last_seen_at = models.DateTimeField()
|
|
91
|
+
is_editing = models.BooleanField(default=False)
|
|
92
|
+
|
|
93
|
+
@staticmethod
|
|
94
|
+
def cleanup():
|
|
95
|
+
EditingSession.objects.filter(
|
|
96
|
+
last_seen_at__lt=timezone.now() - timezone.timedelta(hours=1)
|
|
97
|
+
).delete()
|
|
98
|
+
|
|
99
|
+
class Meta:
|
|
100
|
+
indexes = [
|
|
101
|
+
models.Index(fields=["content_type", "object_id"]),
|
|
102
|
+
]
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import warnings
|
|
3
3
|
|
|
4
|
+
from django.core.serializers.json import DjangoJSONEncoder
|
|
4
5
|
from django.forms import Media, widgets
|
|
5
|
-
from django.urls import reverse_lazy
|
|
6
6
|
from django.utils.functional import cached_property
|
|
7
|
-
from django.utils.translation import gettext_lazy
|
|
8
7
|
|
|
9
8
|
from wagtail.admin.rich_text.converters.contentstate import ContentstateConverter
|
|
10
9
|
from wagtail.admin.staticfiles import versioned_static
|
|
@@ -13,23 +12,6 @@ from wagtail.telepath import register
|
|
|
13
12
|
from wagtail.widget_adapters import WidgetAdapter
|
|
14
13
|
|
|
15
14
|
|
|
16
|
-
class LazyStringEncoder(json.JSONEncoder):
|
|
17
|
-
"""
|
|
18
|
-
Add support for lazy strings to the JSON encoder so that URLs and
|
|
19
|
-
translations can be resolved when rendering the widget only.
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
# The string "Edit" here is arbitrary, chosen because it exists elsewhere in the
|
|
23
|
-
# translations dictionary and is likely to remain in the future.
|
|
24
|
-
lazy_string_types = [type(reverse_lazy("Edit")), type(gettext_lazy("Edit"))]
|
|
25
|
-
|
|
26
|
-
def default(self, obj):
|
|
27
|
-
if type(obj) in self.lazy_string_types:
|
|
28
|
-
return str(obj)
|
|
29
|
-
|
|
30
|
-
return json.JSONEncoder.default(self, obj)
|
|
31
|
-
|
|
32
|
-
|
|
33
15
|
class DraftailRichTextArea(widgets.HiddenInput):
|
|
34
16
|
template_name = "wagtailadmin/widgets/draftail_rich_text_area.html"
|
|
35
17
|
is_hidden = False
|
|
@@ -90,7 +72,7 @@ class DraftailRichTextArea(widgets.HiddenInput):
|
|
|
90
72
|
context = super().get_context(name, value, attrs)
|
|
91
73
|
context["widget"]["attrs"]["data-w-init-detail-value"] = json.dumps(
|
|
92
74
|
self.options,
|
|
93
|
-
cls=
|
|
75
|
+
cls=DjangoJSONEncoder,
|
|
94
76
|
)
|
|
95
77
|
return context
|
|
96
78
|
|