wagtail 7.1.2__py3-none-any.whl → 7.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_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/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/cs/LC_MESSAGES/django.po +25 -1
- wagtail/admin/locale/en/LC_MESSAGES/django.po +278 -192
- wagtail/admin/locale/en/LC_MESSAGES/djangojs.po +29 -15
- wagtail/admin/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/it/LC_MESSAGES/django.po +3 -2
- wagtail/admin/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/nl/LC_MESSAGES/django.po +57 -3
- wagtail/admin/locale/nl/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/nl/LC_MESSAGES/djangojs.po +8 -2
- wagtail/admin/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ru/LC_MESSAGES/django.po +58 -1
- wagtail/admin/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/tr/LC_MESSAGES/django.po +3 -2
- 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 +34 -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/en/LC_MESSAGES/django.po +14 -14
- wagtail/contrib/forms/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/nl/LC_MESSAGES/django.po +19 -2
- wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.po +18 -1
- wagtail/contrib/frontend_cache/tests.py +4 -2
- wagtail/contrib/redirects/locale/en/LC_MESSAGES/django.po +4 -4
- 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/en/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.po +43 -3
- 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 +40 -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/en/LC_MESSAGES/django.po +5 -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/en/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/nl/LC_MESSAGES/django.po +9 -0
- wagtail/documents/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ru/LC_MESSAGES/django.po +9 -0
- 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/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/cs/LC_MESSAGES/django.po +12 -1
- wagtail/images/locale/en/LC_MESSAGES/django.po +57 -46
- wagtail/images/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/nl/LC_MESSAGES/django.po +37 -14
- wagtail/images/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/ru/LC_MESSAGES/django.po +20 -1
- 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/en/LC_MESSAGES/django.po +55 -55
- wagtail/locale/is_IS/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/is_IS/LC_MESSAGES/django.po +3 -3
- wagtail/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/nl/LC_MESSAGES/django.po +11 -2
- wagtail/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/ru/LC_MESSAGES/django.po +11 -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/en/LC_MESSAGES/django.po +2 -10
- wagtail/search/management/commands/update_index.py +1 -205
- wagtail/search/management/commands/wagtail_update_index.py +1 -4
- wagtail/search/models.py +32 -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/en/LC_MESSAGES/django.po +3 -3
- wagtail/snippets/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/ru/LC_MESSAGES/django.po +8 -1
- wagtail/snippets/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/tr/LC_MESSAGES/django.po +8 -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 +65 -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/cs/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/cs/LC_MESSAGES/django.po +3 -0
- wagtail/users/locale/en/LC_MESSAGES/django.po +2 -2
- wagtail/users/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/nl/LC_MESSAGES/django.po +6 -3
- wagtail/users/locale/ru/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/ru/LC_MESSAGES/django.po +5 -1
- wagtail/users/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/tr/LC_MESSAGES/django.po +78 -4
- 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.2rc1.dist-info}/METADATA +7 -6
- {wagtail-7.1.2.dist-info → wagtail-7.2rc1.dist-info}/RECORD +309 -315
- 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.2rc1.dist-info}/WHEEL +0 -0
- {wagtail-7.1.2.dist-info → wagtail-7.2rc1.dist-info}/entry_points.txt +0 -0
- {wagtail-7.1.2.dist-info → wagtail-7.2rc1.dist-info}/licenses/LICENSE +0 -0
- {wagtail-7.1.2.dist-info → wagtail-7.2rc1.dist-info}/top_level.txt +0 -0
|
@@ -301,6 +301,96 @@ class TestDocumentIndexView(WagtailTestUtils, TestCase):
|
|
|
301
301
|
"?p=3&tag=even" in response_body or "?tag=even&p=3" in response_body
|
|
302
302
|
)
|
|
303
303
|
|
|
304
|
+
def test_usage_count_column(self):
|
|
305
|
+
used_document = models.Document.objects.create(title="Used document")
|
|
306
|
+
unused_document = models.Document.objects.create(title="Unused document")
|
|
307
|
+
with self.captureOnCommitCallbacks(execute=True):
|
|
308
|
+
VariousOnDeleteModel.objects.create(protected_document=used_document)
|
|
309
|
+
|
|
310
|
+
response = self.client.get(reverse("wagtaildocs:index"))
|
|
311
|
+
self.assertEqual(response.status_code, 200)
|
|
312
|
+
soup = self.get_soup(response.content)
|
|
313
|
+
|
|
314
|
+
expected_url = reverse(
|
|
315
|
+
"wagtaildocs:document_usage",
|
|
316
|
+
args=(used_document.pk,),
|
|
317
|
+
)
|
|
318
|
+
link = soup.select_one(f"a[href='{expected_url}']")
|
|
319
|
+
self.assertIsNotNone(link)
|
|
320
|
+
self.assertEqual(link.text.strip(), "Used 1 time")
|
|
321
|
+
|
|
322
|
+
expected_url = reverse(
|
|
323
|
+
"wagtaildocs:document_usage",
|
|
324
|
+
args=(unused_document.pk,),
|
|
325
|
+
)
|
|
326
|
+
link = soup.select_one(f"a[href='{expected_url}']")
|
|
327
|
+
self.assertIsNotNone(link)
|
|
328
|
+
self.assertEqual(link.text.strip(), "Used 0 times")
|
|
329
|
+
|
|
330
|
+
def test_order_by_usage_count(self):
|
|
331
|
+
doc1 = models.Document.objects.create(title="Used twice document")
|
|
332
|
+
doc2 = models.Document.objects.create(title="Used once document")
|
|
333
|
+
with self.captureOnCommitCallbacks(execute=True):
|
|
334
|
+
VariousOnDeleteModel.objects.create(protected_document=doc1)
|
|
335
|
+
VariousOnDeleteModel.objects.create(protected_document=doc1)
|
|
336
|
+
VariousOnDeleteModel.objects.create(protected_document=doc2)
|
|
337
|
+
|
|
338
|
+
cases = {
|
|
339
|
+
"usage_count": [doc2, doc1],
|
|
340
|
+
"-usage_count": [doc1, doc2],
|
|
341
|
+
}
|
|
342
|
+
for ordering, expected_order in cases.items():
|
|
343
|
+
with self.subTest(ordering=ordering):
|
|
344
|
+
response = self.client.get(
|
|
345
|
+
reverse("wagtaildocs:index"),
|
|
346
|
+
{"ordering": ordering},
|
|
347
|
+
)
|
|
348
|
+
self.assertEqual(response.status_code, 200)
|
|
349
|
+
context = response.context
|
|
350
|
+
self.assertSequenceEqual(
|
|
351
|
+
context["page_obj"].object_list,
|
|
352
|
+
expected_order,
|
|
353
|
+
)
|
|
354
|
+
|
|
355
|
+
def test_filter_by_usage_count(self):
|
|
356
|
+
doc1 = models.Document.objects.create(title="Used twice document")
|
|
357
|
+
doc2 = models.Document.objects.create(title="Used once document")
|
|
358
|
+
doc3 = models.Document.objects.create(title="Unused document")
|
|
359
|
+
with self.captureOnCommitCallbacks(execute=True):
|
|
360
|
+
VariousOnDeleteModel.objects.create(protected_document=doc1)
|
|
361
|
+
VariousOnDeleteModel.objects.create(protected_document=doc1)
|
|
362
|
+
VariousOnDeleteModel.objects.create(protected_document=doc2)
|
|
363
|
+
|
|
364
|
+
response = self.client.get(
|
|
365
|
+
reverse("wagtaildocs:index"),
|
|
366
|
+
{"usage_count_min": "1"},
|
|
367
|
+
)
|
|
368
|
+
self.assertEqual(response.status_code, 200)
|
|
369
|
+
self.assertCountEqual(
|
|
370
|
+
response.context["page_obj"].object_list,
|
|
371
|
+
[doc1, doc2],
|
|
372
|
+
)
|
|
373
|
+
|
|
374
|
+
response = self.client.get(
|
|
375
|
+
reverse("wagtaildocs:index"),
|
|
376
|
+
{"usage_count_min": "1", "usage_count_max": "1"},
|
|
377
|
+
)
|
|
378
|
+
self.assertEqual(response.status_code, 200)
|
|
379
|
+
self.assertCountEqual(
|
|
380
|
+
response.context["page_obj"].object_list,
|
|
381
|
+
[doc2],
|
|
382
|
+
)
|
|
383
|
+
|
|
384
|
+
response = self.client.get(
|
|
385
|
+
reverse("wagtaildocs:index"),
|
|
386
|
+
{"usage_count_max": "0"},
|
|
387
|
+
)
|
|
388
|
+
self.assertEqual(response.status_code, 200)
|
|
389
|
+
self.assertCountEqual(
|
|
390
|
+
response.context["page_obj"].object_list,
|
|
391
|
+
[doc3],
|
|
392
|
+
)
|
|
393
|
+
|
|
304
394
|
|
|
305
395
|
class TestDocumentIndexViewSearch(WagtailTestUtils, TransactionTestCase):
|
|
306
396
|
def setUp(self):
|
|
@@ -469,6 +559,25 @@ class TestDocumentAddView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
|
|
|
469
559
|
response.content,
|
|
470
560
|
)
|
|
471
561
|
|
|
562
|
+
soup = self.get_soup(response.content)
|
|
563
|
+
form = soup.select_one("main form")
|
|
564
|
+
self.assertIsNotNone(form)
|
|
565
|
+
title_input = form.select_one('input[type="text"][name="title"]')
|
|
566
|
+
self.assertIsNotNone(title_input)
|
|
567
|
+
self.assertEqual(title_input.get("id"), "id_title")
|
|
568
|
+
file_input = form.select_one('input[type="file"][name="file"]')
|
|
569
|
+
self.assertIsNotNone(file_input)
|
|
570
|
+
expected_attributes = {
|
|
571
|
+
"data-controller": "w-sync",
|
|
572
|
+
"data-action": "change->w-sync#apply",
|
|
573
|
+
"data-w-sync-bubbles-param": "true",
|
|
574
|
+
"data-w-sync-name-value": "wagtail:documents-upload",
|
|
575
|
+
"data-w-sync-normalize-value": "true",
|
|
576
|
+
"data-w-sync-target-value": "#id_title",
|
|
577
|
+
}
|
|
578
|
+
for attr, expected_value in expected_attributes.items():
|
|
579
|
+
self.assertEqual(file_input.get(attr), expected_value)
|
|
580
|
+
|
|
472
581
|
def test_get_with_collections(self):
|
|
473
582
|
root_collection = Collection.get_first_root_node()
|
|
474
583
|
root_collection.add_child(name="Evil plans")
|
|
@@ -1791,6 +1900,29 @@ class TestDocumentChooserView(WagtailTestUtils, TestCase):
|
|
|
1791
1900
|
# draftail should NOT be a standard JS include on this page
|
|
1792
1901
|
self.assertNotIn("wagtailadmin/js/draftail.js", response_json["html"])
|
|
1793
1902
|
|
|
1903
|
+
soup = self.get_soup(response_json["html"])
|
|
1904
|
+
form = soup.select_one("form[data-chooser-modal-creation-form]")
|
|
1905
|
+
self.assertIsNotNone(form)
|
|
1906
|
+
title_input = form.select_one(
|
|
1907
|
+
'input[type="text"][name="document-chooser-upload-title"]'
|
|
1908
|
+
)
|
|
1909
|
+
self.assertIsNotNone(title_input)
|
|
1910
|
+
self.assertEqual(title_input.get("id"), "id_document-chooser-upload-title")
|
|
1911
|
+
file_input = form.select_one(
|
|
1912
|
+
'input[type="file"][name="document-chooser-upload-file"]'
|
|
1913
|
+
)
|
|
1914
|
+
self.assertIsNotNone(file_input)
|
|
1915
|
+
expected_attributes = {
|
|
1916
|
+
"data-controller": "w-sync",
|
|
1917
|
+
"data-action": "change->w-sync#apply",
|
|
1918
|
+
"data-w-sync-bubbles-param": "true",
|
|
1919
|
+
"data-w-sync-name-value": "wagtail:documents-upload",
|
|
1920
|
+
"data-w-sync-normalize-value": "true",
|
|
1921
|
+
"data-w-sync-target-value": "#id_document-chooser-upload-title",
|
|
1922
|
+
}
|
|
1923
|
+
for attr, expected_value in expected_attributes.items():
|
|
1924
|
+
self.assertEqual(file_input.get(attr), expected_value)
|
|
1925
|
+
|
|
1794
1926
|
def test_simple_with_collection_nesting(self):
|
|
1795
1927
|
root_collection = Collection.get_first_root_node()
|
|
1796
1928
|
evil_plans = root_collection.add_child(name="Evil plans")
|
|
@@ -2118,32 +2250,6 @@ class TestUsageCount(WagtailTestUtils, TestCase):
|
|
|
2118
2250
|
response = self.client.get(reverse("wagtaildocs:edit", args=(1,)))
|
|
2119
2251
|
self.assertContains(response, "Used 0 times")
|
|
2120
2252
|
|
|
2121
|
-
def test_usage_count_column_with_document_usage(self):
|
|
2122
|
-
with self.captureOnCommitCallbacks(execute=True):
|
|
2123
|
-
doc = models.Document.objects.get(id=1)
|
|
2124
|
-
page = EventPage.objects.get(id=4)
|
|
2125
|
-
event_page_related_link = EventPageRelatedLink()
|
|
2126
|
-
event_page_related_link.page = page
|
|
2127
|
-
event_page_related_link.link_document = doc
|
|
2128
|
-
event_page_related_link.save()
|
|
2129
|
-
|
|
2130
|
-
response = self.client.get(reverse("wagtaildocs:index"), {"layout": "list"})
|
|
2131
|
-
self.assertEqual(response.status_code, 200)
|
|
2132
|
-
|
|
2133
|
-
self.assertContains(response, "Used 1 time")
|
|
2134
|
-
|
|
2135
|
-
expected_url = "/admin/documents/usage/1/"
|
|
2136
|
-
self.assertContains(response, expected_url)
|
|
2137
|
-
|
|
2138
|
-
def test_usage_count_column_no_document_usage(self):
|
|
2139
|
-
response = self.client.get(reverse("wagtaildocs:index"), {"layout": "list"})
|
|
2140
|
-
self.assertEqual(response.status_code, 200)
|
|
2141
|
-
|
|
2142
|
-
self.assertContains(response, "Used 0 times")
|
|
2143
|
-
|
|
2144
|
-
expected_url = "/admin/documents/usage/1/"
|
|
2145
|
-
self.assertContains(response, expected_url)
|
|
2146
|
-
|
|
2147
2253
|
|
|
2148
2254
|
class TestGetUsage(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
|
|
2149
2255
|
fixtures = ["test.json"]
|
|
@@ -159,10 +159,12 @@ class TestCollectionPrivacyDocument(WagtailTestUtils, TestCase):
|
|
|
159
159
|
|
|
160
160
|
def test_set_shared_password_with_logged_in_user(self):
|
|
161
161
|
self.login()
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
url = reverse(
|
|
163
|
+
"wagtailadmin_collections:set_privacy", args=(self.collection.id,)
|
|
164
164
|
)
|
|
165
165
|
|
|
166
|
+
response = self.client.get(url)
|
|
167
|
+
|
|
166
168
|
input_el = self.get_soup(response.content).select_one("[data-field-input]")
|
|
167
169
|
self.assertEqual(response.status_code, 200)
|
|
168
170
|
|
|
@@ -172,14 +174,21 @@ class TestCollectionPrivacyDocument(WagtailTestUtils, TestCase):
|
|
|
172
174
|
# check that the option for password is visible
|
|
173
175
|
self.assertIsNotNone(input_el)
|
|
174
176
|
|
|
177
|
+
# check template used & data
|
|
178
|
+
self.assertTemplateUsed(response, "wagtailadmin/shared/set_privacy.html")
|
|
179
|
+
self.assertEqual(response.context["object"], self.collection)
|
|
180
|
+
self.assertEqual(response.context["action_url"], url)
|
|
181
|
+
|
|
175
182
|
@override_settings(
|
|
176
183
|
WAGTAILDOCS_PRIVATE_COLLECTION_OPTIONS={"SHARED_PASSWORD": False}
|
|
177
184
|
)
|
|
178
185
|
def test_unset_shared_password_with_logged_in_user(self):
|
|
179
186
|
self.login()
|
|
180
|
-
|
|
181
|
-
|
|
187
|
+
url = reverse(
|
|
188
|
+
"wagtailadmin_collections:set_privacy", args=(self.collection.id,)
|
|
182
189
|
)
|
|
190
|
+
|
|
191
|
+
response = self.client.get(url)
|
|
183
192
|
self.assertEqual(response.status_code, 200)
|
|
184
193
|
self.assertNotIn("password", response.context["form"].fields)
|
|
185
194
|
self.assertFalse(
|
|
@@ -187,3 +196,8 @@ class TestCollectionPrivacyDocument(WagtailTestUtils, TestCase):
|
|
|
187
196
|
.fields["restriction_type"]
|
|
188
197
|
.valid_value(CollectionViewRestriction.PASSWORD)
|
|
189
198
|
)
|
|
199
|
+
|
|
200
|
+
# check template used & data
|
|
201
|
+
self.assertTemplateUsed(response, "wagtailadmin/shared/set_privacy.html")
|
|
202
|
+
self.assertEqual(response.context["object"], self.collection)
|
|
203
|
+
self.assertEqual(response.context["action_url"], url)
|
|
@@ -53,7 +53,7 @@ class TestDocumentFormOverride(TestCase):
|
|
|
53
53
|
self.assertIn("tags", form.errors)
|
|
54
54
|
self.assertEqual(
|
|
55
55
|
form.errors["tags"][0],
|
|
56
|
-
"Tag(s) ['{val}'] are over {max_tag_length} characters".format(
|
|
56
|
+
"Tag(s) ['{val}'] are over {max_tag_length} characters.".format(
|
|
57
57
|
val=long_value,
|
|
58
58
|
max_tag_length=taggit_models.TagBase._meta.get_field("name").max_length,
|
|
59
59
|
),
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import unittest
|
|
2
|
+
from io import StringIO
|
|
2
3
|
|
|
4
|
+
from django.core import management
|
|
3
5
|
from django.core.files.base import ContentFile
|
|
4
6
|
from django.test import TestCase
|
|
5
7
|
from django.test.utils import override_settings
|
|
@@ -25,6 +27,13 @@ class TestIssue613(WagtailTestUtils, TestCase):
|
|
|
25
27
|
self.search_backend = self.get_elasticsearch_backend()
|
|
26
28
|
self.login()
|
|
27
29
|
|
|
30
|
+
management.call_command(
|
|
31
|
+
"update_index",
|
|
32
|
+
backend_name="elasticsearch",
|
|
33
|
+
stdout=StringIO(),
|
|
34
|
+
chunk_size=50,
|
|
35
|
+
)
|
|
36
|
+
|
|
28
37
|
def add_document(self, **params):
|
|
29
38
|
# Build a fake file
|
|
30
39
|
fake_file = ContentFile(b"A boring example document")
|
|
@@ -77,13 +86,15 @@ class TestIssue613(WagtailTestUtils, TestCase):
|
|
|
77
86
|
return doc.first()
|
|
78
87
|
|
|
79
88
|
def test_issue_613_on_add(self):
|
|
80
|
-
#
|
|
81
|
-
self.search_backend.reset_index()
|
|
82
|
-
|
|
89
|
+
# Note to future developer troubleshooting this test...
|
|
90
|
+
# This test previously started by calling self.search_backend.reset_index(), but that was evidently redundant because
|
|
91
|
+
# this was broken on Elasticsearch prior to the fix in
|
|
92
|
+
# https://github.com/wagtail/wagtailsearch/commit/53a98169bccc3cef5b234944037f2b3f78efafd4 .
|
|
93
|
+
# If this turns out to be necessary after all, you might want to compare how wagtail.tests.test_page_search.PageSearchTests does it.
|
|
83
94
|
|
|
84
95
|
# Add a document with some tags
|
|
85
96
|
document = self.add_document(tags="hello")
|
|
86
|
-
self.search_backend.
|
|
97
|
+
self.search_backend.refresh_indexes()
|
|
87
98
|
|
|
88
99
|
# Search for it by tag
|
|
89
100
|
results = self.search_backend.search("hello", models.Document)
|
|
@@ -93,13 +104,15 @@ class TestIssue613(WagtailTestUtils, TestCase):
|
|
|
93
104
|
self.assertEqual(results[0].id, document.id)
|
|
94
105
|
|
|
95
106
|
def test_issue_613_on_edit(self):
|
|
96
|
-
#
|
|
97
|
-
self.search_backend.reset_index()
|
|
98
|
-
|
|
107
|
+
# Note to future developer troubleshooting this test...
|
|
108
|
+
# This test previously started by calling self.search_backend.reset_index(), but that was evidently redundant because
|
|
109
|
+
# this was broken on Elasticsearch prior to the fix in
|
|
110
|
+
# https://github.com/wagtail/wagtailsearch/commit/53a98169bccc3cef5b234944037f2b3f78efafd4 .
|
|
111
|
+
# If this turns out to be necessary after all, you might want to compare how wagtail.tests.test_page_search.PageSearchTests does it.
|
|
99
112
|
|
|
100
113
|
# Add a document with some tags
|
|
101
114
|
document = self.edit_document(tags="hello")
|
|
102
|
-
self.search_backend.
|
|
115
|
+
self.search_backend.refresh_indexes()
|
|
103
116
|
|
|
104
117
|
# Search for it by tag
|
|
105
118
|
results = self.search_backend.search("hello", models.Document)
|
|
@@ -256,7 +256,7 @@ class EditView(generic.EditView):
|
|
|
256
256
|
messages.error(
|
|
257
257
|
self.request,
|
|
258
258
|
_(
|
|
259
|
-
"The file could not be found. Please change the source or delete the document"
|
|
259
|
+
"The file could not be found. Please change the source or delete the document."
|
|
260
260
|
),
|
|
261
261
|
buttons=[messages.button(self.get_delete_url(), _("Delete"))],
|
|
262
262
|
)
|
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date: 2025-
|
|
11
|
+
"POT-Creation-Date: 2025-10-23 16:45+0100\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
EMBED_CHOOSER_MODAL_ONLOAD_HANDLERS={chooser:function(e,t){$("form.embed-form",e.body).on("submit",
|
|
1
|
+
EMBED_CHOOSER_MODAL_ONLOAD_HANDLERS={chooser:function(e,t){$("form.embed-form",e.body).on("submit",function(){var t=new FormData(this);return $.ajax({url:this.action,data:t,processData:!1,contentType:!1,type:"POST",dataType:"text",success:e.loadResponseText}),!1})},embed_chosen:function(e,t){e.respond("embedChosen",t.embed_html,t.embed_data),e.close()}};
|
wagtail/images/forms.py
CHANGED
|
@@ -44,6 +44,12 @@ class BaseImageForm(BaseCollectionMemberForm):
|
|
|
44
44
|
def __init__(self, *args, **kwargs):
|
|
45
45
|
super().__init__(*args, **kwargs)
|
|
46
46
|
self.original_file = self.instance.file
|
|
47
|
+
# Dynamically set sync value target to the id of the file input rather
|
|
48
|
+
# than hardcoding it
|
|
49
|
+
if "title" in self.fields and "file" in self.fields:
|
|
50
|
+
self.fields["file"].widget.attrs["data-w-sync-target-value"] = (
|
|
51
|
+
f"#{self['title'].id_for_label}"
|
|
52
|
+
)
|
|
47
53
|
|
|
48
54
|
def save(self, commit=True):
|
|
49
55
|
if "file" in self.changed_data:
|
|
@@ -70,7 +76,15 @@ class BaseImageForm(BaseCollectionMemberForm):
|
|
|
70
76
|
# a bit pointless here
|
|
71
77
|
widgets = {
|
|
72
78
|
"tags": AdminTagWidget,
|
|
73
|
-
"file": forms.FileInput(
|
|
79
|
+
"file": forms.FileInput(
|
|
80
|
+
attrs={
|
|
81
|
+
"data-controller": "w-sync",
|
|
82
|
+
"data-action": "change->w-sync#apply",
|
|
83
|
+
"data-w-sync-bubbles-param": "true",
|
|
84
|
+
"data-w-sync-name-value": "wagtail:images-upload",
|
|
85
|
+
"data-w-sync-normalize-value": "true",
|
|
86
|
+
}
|
|
87
|
+
),
|
|
74
88
|
"focal_point_x": forms.HiddenInput(attrs={"class": "focal_point_x"}),
|
|
75
89
|
"focal_point_y": forms.HiddenInput(attrs={"class": "focal_point_y"}),
|
|
76
90
|
"focal_point_width": forms.HiddenInput(
|
|
@@ -221,6 +235,7 @@ class URLGeneratorForm(forms.Form):
|
|
|
221
235
|
closeness = forms.IntegerField(
|
|
222
236
|
label=_("Closeness"),
|
|
223
237
|
min_value=0,
|
|
238
|
+
max_value=100,
|
|
224
239
|
initial=0,
|
|
225
240
|
widget=forms.NumberInput(
|
|
226
241
|
attrs={
|
|
Binary file
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
# IT Management <hudan@itmanagement.cz>, 2020
|
|
9
9
|
# Jan Feřtek, 2023
|
|
10
10
|
# Jan Feřtek, 2023
|
|
11
|
+
# Jan Zelený <janzeleny@outlook.com>, 2025
|
|
11
12
|
# Jiri Stepanek <stepiiicz@gmail.com>, 2015
|
|
12
13
|
# Marek Turnovec <aesculap@gmail.com>, 2016
|
|
13
14
|
# Matt Westcott <matthew@torchbox.com>, 2022
|
|
@@ -18,7 +19,7 @@ msgstr ""
|
|
|
18
19
|
"Report-Msgid-Bugs-To: \n"
|
|
19
20
|
"POT-Creation-Date: 2025-07-24 16:20+0200\n"
|
|
20
21
|
"PO-Revision-Date: 2014-02-20 21:05+0000\n"
|
|
21
|
-
"Last-Translator:
|
|
22
|
+
"Last-Translator: Jan Zelený <janzeleny@outlook.com>, 2025\n"
|
|
22
23
|
"Language-Team: Czech (http://app.transifex.com/torchbox/wagtail/language/"
|
|
23
24
|
"cs/)\n"
|
|
24
25
|
"MIME-Version: 1.0\n"
|
|
@@ -221,6 +222,9 @@ msgstr[3] "Přidat %(counter)s obrázků do nové kolekce"
|
|
|
221
222
|
msgid "Add images to collection"
|
|
222
223
|
msgstr "Přidat obrázky do kolekce"
|
|
223
224
|
|
|
225
|
+
msgid "Delete images"
|
|
226
|
+
msgstr "Smazat obrázky"
|
|
227
|
+
|
|
224
228
|
msgid "Yes, delete"
|
|
225
229
|
msgstr "Ano, smazat"
|
|
226
230
|
|
|
@@ -239,6 +243,10 @@ msgstr "Nový"
|
|
|
239
243
|
msgid "Latest images"
|
|
240
244
|
msgstr "Poslední obrázky"
|
|
241
245
|
|
|
246
|
+
#, python-format
|
|
247
|
+
msgid "Select %(title)s"
|
|
248
|
+
msgstr "Vybrat %(title)s"
|
|
249
|
+
|
|
242
250
|
msgid "Choose a format"
|
|
243
251
|
msgstr "Zvolte formát"
|
|
244
252
|
|
|
@@ -328,6 +336,9 @@ msgstr "Náhled"
|
|
|
328
336
|
msgid "URL"
|
|
329
337
|
msgstr "URL"
|
|
330
338
|
|
|
339
|
+
msgid "Copied to clipboard"
|
|
340
|
+
msgstr "Zkopírováno do schránky"
|
|
341
|
+
|
|
331
342
|
msgid "Add multiple images"
|
|
332
343
|
msgstr "Přidat více obrázků"
|
|
333
344
|
|
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date: 2025-
|
|
11
|
+
"POT-Creation-Date: 2025-10-23 16:45+0100\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -22,15 +22,15 @@ msgstr ""
|
|
|
22
22
|
msgid "Wagtail images"
|
|
23
23
|
msgstr ""
|
|
24
24
|
|
|
25
|
-
#: blocks.py:72 blocks.py:83 forms.py:
|
|
25
|
+
#: blocks.py:72 blocks.py:83 forms.py:176
|
|
26
26
|
msgid "Image is decorative"
|
|
27
27
|
msgstr ""
|
|
28
28
|
|
|
29
|
-
#: blocks.py:74 blocks.py:86 forms.py:
|
|
29
|
+
#: blocks.py:74 blocks.py:86 forms.py:178
|
|
30
30
|
msgid "Alt text"
|
|
31
31
|
msgstr ""
|
|
32
32
|
|
|
33
|
-
#: blocks.py:196 forms.py:
|
|
33
|
+
#: blocks.py:196 forms.py:191
|
|
34
34
|
msgid "Please add some alt text for your image or mark it as decorative"
|
|
35
35
|
msgstr ""
|
|
36
36
|
|
|
@@ -88,75 +88,76 @@ msgstr ""
|
|
|
88
88
|
msgid "Right-aligned"
|
|
89
89
|
msgstr ""
|
|
90
90
|
|
|
91
|
-
#: forms.py:31 views/bulk_actions/add_to_collection.py:13 views/
|
|
91
|
+
#: forms.py:31 views/bulk_actions/add_to_collection.py:13 views/chooser.py:175
|
|
92
|
+
#: views/images.py:166
|
|
92
93
|
msgid "Collection"
|
|
93
94
|
msgstr ""
|
|
94
95
|
|
|
95
|
-
#: forms.py:
|
|
96
|
+
#: forms.py:171
|
|
96
97
|
msgid "Format"
|
|
97
98
|
msgstr ""
|
|
98
99
|
|
|
99
|
-
#: forms.py:
|
|
100
|
+
#: forms.py:199
|
|
100
101
|
msgid "Filter"
|
|
101
102
|
msgstr ""
|
|
102
103
|
|
|
103
|
-
#: forms.py:
|
|
104
|
+
#: forms.py:201
|
|
104
105
|
msgid "Original size"
|
|
105
106
|
msgstr ""
|
|
106
107
|
|
|
107
|
-
#: forms.py:
|
|
108
|
+
#: forms.py:202
|
|
108
109
|
msgid "Resize to width"
|
|
109
110
|
msgstr ""
|
|
110
111
|
|
|
111
|
-
#: forms.py:
|
|
112
|
+
#: forms.py:203
|
|
112
113
|
msgid "Resize to height"
|
|
113
114
|
msgstr ""
|
|
114
115
|
|
|
115
|
-
#: forms.py:
|
|
116
|
+
#: forms.py:204
|
|
116
117
|
msgid "Resize to min"
|
|
117
118
|
msgstr ""
|
|
118
119
|
|
|
119
|
-
#: forms.py:
|
|
120
|
+
#: forms.py:205
|
|
120
121
|
msgid "Resize to max"
|
|
121
122
|
msgstr ""
|
|
122
123
|
|
|
123
|
-
#: forms.py:
|
|
124
|
+
#: forms.py:206
|
|
124
125
|
msgid "Resize to fill"
|
|
125
126
|
msgstr ""
|
|
126
127
|
|
|
127
|
-
#: forms.py:
|
|
128
|
+
#: forms.py:210
|
|
128
129
|
msgid "Width"
|
|
129
130
|
msgstr ""
|
|
130
131
|
|
|
131
|
-
#: forms.py:
|
|
132
|
+
#: forms.py:223
|
|
132
133
|
msgid "Height"
|
|
133
134
|
msgstr ""
|
|
134
135
|
|
|
135
|
-
#: forms.py:
|
|
136
|
+
#: forms.py:236
|
|
136
137
|
msgid "Closeness"
|
|
137
138
|
msgstr ""
|
|
138
139
|
|
|
139
|
-
#: forms.py:
|
|
140
|
+
#: forms.py:253
|
|
140
141
|
msgid "Add"
|
|
141
142
|
msgstr ""
|
|
142
143
|
|
|
143
|
-
#: forms.py:
|
|
144
|
+
#: forms.py:253
|
|
144
145
|
msgid "Add/edit images you own"
|
|
145
146
|
msgstr ""
|
|
146
147
|
|
|
147
|
-
#: forms.py:
|
|
148
|
+
#: forms.py:254
|
|
148
149
|
msgid "Edit"
|
|
149
150
|
msgstr ""
|
|
150
151
|
|
|
151
|
-
#: forms.py:
|
|
152
|
+
#: forms.py:254
|
|
152
153
|
msgid "Edit any image"
|
|
153
154
|
msgstr ""
|
|
154
155
|
|
|
155
|
-
#: forms.py:
|
|
156
|
+
#: forms.py:255
|
|
156
157
|
msgid "Choose"
|
|
157
158
|
msgstr ""
|
|
158
159
|
|
|
159
|
-
#: forms.py:
|
|
160
|
+
#: forms.py:255
|
|
160
161
|
msgid "Select images in choosers"
|
|
161
162
|
msgstr ""
|
|
162
163
|
|
|
@@ -292,10 +293,14 @@ msgstr ""
|
|
|
292
293
|
msgid "No, don't delete"
|
|
293
294
|
msgstr ""
|
|
294
295
|
|
|
295
|
-
#: templates/wagtailimages/chooser/chooser.html:
|
|
296
|
+
#: templates/wagtailimages/chooser/chooser.html:13
|
|
296
297
|
msgid "Popular tags"
|
|
297
298
|
msgstr ""
|
|
298
299
|
|
|
300
|
+
#: templates/wagtailimages/chooser/chooser.html:21
|
|
301
|
+
msgid "Layout"
|
|
302
|
+
msgstr ""
|
|
303
|
+
|
|
299
304
|
#: templates/wagtailimages/chooser/confirm_duplicate_upload.html:6
|
|
300
305
|
msgid ""
|
|
301
306
|
"Upload successful. However, your new image seems to be a duplicate of an "
|
|
@@ -322,20 +327,20 @@ msgstr ""
|
|
|
322
327
|
msgid "Latest images"
|
|
323
328
|
msgstr ""
|
|
324
329
|
|
|
325
|
-
#: templates/wagtailimages/chooser/results.html:
|
|
330
|
+
#: templates/wagtailimages/chooser/results.html:17
|
|
326
331
|
#, python-format
|
|
327
332
|
msgid "Select %(title)s"
|
|
328
333
|
msgstr ""
|
|
329
334
|
|
|
330
|
-
#: templates/wagtailimages/chooser/results.html:
|
|
335
|
+
#: templates/wagtailimages/chooser/results.html:36
|
|
331
336
|
msgid "You haven't uploaded any images in this collection."
|
|
332
337
|
msgstr ""
|
|
333
338
|
|
|
334
|
-
#: templates/wagtailimages/chooser/results.html:
|
|
339
|
+
#: templates/wagtailimages/chooser/results.html:38
|
|
335
340
|
msgid "You haven't uploaded any images."
|
|
336
341
|
msgstr ""
|
|
337
342
|
|
|
338
|
-
#: templates/wagtailimages/chooser/results.html:
|
|
343
|
+
#: templates/wagtailimages/chooser/results.html:41
|
|
339
344
|
msgid ""
|
|
340
345
|
"Why not <a class=\"upload-one-now\" href=\"#tab-upload\" data-action=\"w-"
|
|
341
346
|
"tabs#select:prevent\" data-w-tabs-target=\"trigger\" data-w-tabs-focus-"
|
|
@@ -367,13 +372,13 @@ msgstr ""
|
|
|
367
372
|
msgid "Add an image"
|
|
368
373
|
msgstr ""
|
|
369
374
|
|
|
370
|
-
#: templates/wagtailimages/images/add.html:
|
|
371
|
-
#: views/chooser.py:
|
|
375
|
+
#: templates/wagtailimages/images/add.html:11 views/chooser.py:61
|
|
376
|
+
#: views/chooser.py:384
|
|
372
377
|
msgid "Uploading…"
|
|
373
378
|
msgstr ""
|
|
374
379
|
|
|
375
|
-
#: templates/wagtailimages/images/add.html:
|
|
376
|
-
#: views/chooser.py:
|
|
380
|
+
#: templates/wagtailimages/images/add.html:14 views/chooser.py:60
|
|
381
|
+
#: views/chooser.py:383
|
|
377
382
|
msgid "Upload"
|
|
378
383
|
msgstr ""
|
|
379
384
|
|
|
@@ -427,7 +432,8 @@ msgstr ""
|
|
|
427
432
|
msgid "File not found"
|
|
428
433
|
msgstr ""
|
|
429
434
|
|
|
430
|
-
#: templates/wagtailimages/images/edit.html:65 views/
|
|
435
|
+
#: templates/wagtailimages/images/edit.html:65 views/chooser.py:182
|
|
436
|
+
#: views/images.py:174
|
|
431
437
|
msgid "Usage"
|
|
432
438
|
msgstr ""
|
|
433
439
|
|
|
@@ -438,7 +444,7 @@ msgid_plural "Used %(usage_count)s times"
|
|
|
438
444
|
msgstr[0] ""
|
|
439
445
|
msgstr[1] ""
|
|
440
446
|
|
|
441
|
-
#: templates/wagtailimages/images/index.html:
|
|
447
|
+
#: templates/wagtailimages/images/index.html:11
|
|
442
448
|
msgid "Sort by"
|
|
443
449
|
msgstr ""
|
|
444
450
|
|
|
@@ -465,12 +471,17 @@ msgid ""
|
|
|
465
471
|
"href=\"%(wagtailimages_add_image_url)s\">upload one now</a>?"
|
|
466
472
|
msgstr ""
|
|
467
473
|
|
|
474
|
+
#: templates/wagtailimages/images/layout_toggle_button.html:5
|
|
475
|
+
msgid "Grid layout"
|
|
476
|
+
msgstr ""
|
|
477
|
+
|
|
468
478
|
#: templates/wagtailimages/images/layout_toggle_button.html:9
|
|
469
|
-
msgid "
|
|
479
|
+
msgid "List layout"
|
|
470
480
|
msgstr ""
|
|
471
481
|
|
|
472
482
|
#: templates/wagtailimages/images/url_generator.html:16
|
|
473
|
-
#: templates/wagtailimages/images/url_generator.html:20 views/
|
|
483
|
+
#: templates/wagtailimages/images/url_generator.html:20 views/chooser.py:164
|
|
484
|
+
#: views/images.py:154
|
|
474
485
|
msgid "Preview"
|
|
475
486
|
msgstr ""
|
|
476
487
|
|
|
@@ -604,15 +615,23 @@ msgid_plural "%(num_parent_objects)d images have been deleted"
|
|
|
604
615
|
msgstr[0] ""
|
|
605
616
|
msgstr[1] ""
|
|
606
617
|
|
|
607
|
-
#: views/chooser.py:
|
|
618
|
+
#: views/chooser.py:170 views/images.py:160
|
|
619
|
+
msgid "Title"
|
|
620
|
+
msgstr ""
|
|
621
|
+
|
|
622
|
+
#: views/chooser.py:178 views/images.py:169
|
|
623
|
+
msgid "Created"
|
|
624
|
+
msgstr ""
|
|
625
|
+
|
|
626
|
+
#: views/chooser.py:382 widgets.py:13
|
|
608
627
|
msgid "Choose an image"
|
|
609
628
|
msgstr ""
|
|
610
629
|
|
|
611
|
-
#: views/chooser.py:
|
|
630
|
+
#: views/chooser.py:385
|
|
612
631
|
msgid "Choose another image"
|
|
613
632
|
msgstr ""
|
|
614
633
|
|
|
615
|
-
#: views/chooser.py:
|
|
634
|
+
#: views/chooser.py:386 widgets.py:15
|
|
616
635
|
msgid "Edit this image"
|
|
617
636
|
msgstr ""
|
|
618
637
|
|
|
@@ -652,14 +671,6 @@ msgstr ""
|
|
|
652
671
|
msgid "Images"
|
|
653
672
|
msgstr ""
|
|
654
673
|
|
|
655
|
-
#: views/images.py:160
|
|
656
|
-
msgid "Title"
|
|
657
|
-
msgstr ""
|
|
658
|
-
|
|
659
|
-
#: views/images.py:169
|
|
660
|
-
msgid "Created"
|
|
661
|
-
msgstr ""
|
|
662
|
-
|
|
663
674
|
#: views/images.py:206
|
|
664
675
|
msgid "The image could not be saved due to errors."
|
|
665
676
|
msgstr ""
|
|
Binary file
|