wagtail 6.3.1__py3-none-any.whl → 6.4rc1__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/publish_revision.py +4 -5
- wagtail/admin/auth.py +0 -2
- wagtail/admin/checks.py +1 -1
- wagtail/admin/filters.py +3 -1
- wagtail/admin/forms/account.py +21 -11
- wagtail/admin/forms/collections.py +2 -9
- wagtail/admin/forms/formsets.py +32 -0
- wagtail/admin/forms/pages.py +5 -1
- wagtail/admin/forms/workflows.py +2 -13
- wagtail/admin/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ar/LC_MESSAGES/django.po +68 -1
- wagtail/admin/locale/ar/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/ar/LC_MESSAGES/djangojs.po +5 -1
- wagtail/admin/locale/en/LC_MESSAGES/django.po +312 -356
- wagtail/admin/locale/en/LC_MESSAGES/djangojs.po +21 -16
- wagtail/admin/locale/gl/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/gl/LC_MESSAGES/djangojs.po +5 -5
- wagtail/admin/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/pt_BR/LC_MESSAGES/django.po +29 -0
- wagtail/admin/menu.py +0 -13
- wagtail/admin/panels/base.py +2 -2
- wagtail/admin/panels/group.py +4 -1
- wagtail/admin/panels/inline_panel.py +5 -2
- wagtail/admin/panels/model_utils.py +36 -0
- wagtail/admin/panels/page_utils.py +2 -40
- wagtail/admin/panels/signal_handlers.py +0 -2
- wagtail/admin/static/wagtailadmin/css/core.css +1 -1
- wagtail/admin/static/wagtailadmin/css/panels/draftail.css +1 -1
- wagtail/admin/static/wagtailadmin/css/panels/streamfield.css +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 +1 -8
- wagtail/admin/static/wagtailadmin/js/draftail.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/privacy-switch.js +1 -1
- wagtail/admin/static/wagtailadmin/js/sidebar.js +1 -1
- wagtail/admin/static/wagtailadmin/js/telepath/blocks.js +1 -1
- wagtail/admin/static/wagtailadmin/js/userbar.js +1 -1
- wagtail/admin/static/wagtailadmin/js/userbar.js.LICENSE.txt +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor.js.LICENSE.txt +7 -0
- wagtail/admin/templates/wagtailadmin/404.html +4 -0
- wagtail/admin/templates/wagtailadmin/chooser/browse.html +2 -1
- wagtail/admin/templates/wagtailadmin/chooser/tables/parent_page_cell.html +1 -1
- wagtail/admin/templates/wagtailadmin/collections/_privacy_switch.html +8 -1
- wagtail/admin/templates/wagtailadmin/generic/confirm_delete.html +15 -9
- wagtail/admin/templates/wagtailadmin/generic/confirm_unpublish.html +21 -25
- wagtail/admin/templates/wagtailadmin/generic/form.html +1 -1
- wagtail/admin/templates/wagtailadmin/generic/preview_error.html +3 -0
- wagtail/admin/templates/wagtailadmin/generic/revisions/compare.html +63 -76
- wagtail/admin/templates/wagtailadmin/pages/_editor_js.html +0 -2
- wagtail/admin/templates/wagtailadmin/pages/edit.html +1 -5
- wagtail/admin/templates/wagtailadmin/panels/inline_panel_child.html +1 -0
- wagtail/admin/templates/wagtailadmin/permissions/includes/collection_member_permissions_form.html +1 -1
- wagtail/admin/templates/wagtailadmin/permissions/includes/collection_member_permissions_formset.html +6 -22
- wagtail/admin/templates/wagtailadmin/shared/formatted_field.html +2 -2
- wagtail/admin/templates/wagtailadmin/shared/header.html +2 -2
- wagtail/admin/templates/wagtailadmin/shared/page_status_tag_new.html +32 -39
- wagtail/admin/templates/wagtailadmin/shared/revisions/confirm_unschedule.html +13 -17
- wagtail/admin/templates/wagtailadmin/shared/side_panels/includes/status/privacy.html +15 -3
- wagtail/admin/templates/wagtailadmin/shared/side_panels/preview.html +1 -1
- wagtail/admin/templates/wagtailadmin/skeleton.html +4 -2
- wagtail/admin/templates/wagtailadmin/workflows/create.html +1 -1
- wagtail/admin/templates/wagtailadmin/workflows/edit.html +1 -1
- wagtail/admin/templates/wagtailadmin/workflows/includes/workflow_pages_form.html +1 -1
- wagtail/admin/templates/wagtailadmin/workflows/includes/workflow_pages_formset.html +6 -23
- wagtail/admin/templatetags/wagtailadmin_tags.py +12 -0
- wagtail/admin/templatetags/wagtailuserbar.py +2 -3
- wagtail/admin/tests/pages/test_create_page.py +110 -1
- wagtail/admin/tests/pages/test_edit_page.py +3 -2
- wagtail/admin/tests/pages/test_explorer_view.py +18 -0
- wagtail/admin/tests/pages/test_page_usage.py +24 -20
- wagtail/admin/tests/pages/test_preview.py +69 -1
- wagtail/admin/tests/pages/test_revisions.py +40 -6
- wagtail/admin/tests/test_account_management.py +39 -1
- wagtail/admin/tests/test_audit_log.py +4 -2
- wagtail/admin/tests/test_block_preview.py +224 -0
- wagtail/admin/tests/test_edit_handlers.py +23 -6
- wagtail/admin/tests/test_page_chooser.py +50 -3
- wagtail/admin/tests/test_privacy.py +49 -26
- wagtail/admin/tests/test_site_summary.py +15 -10
- wagtail/admin/tests/test_templatetags.py +19 -0
- wagtail/admin/tests/test_userbar.py +82 -1
- wagtail/admin/tests/test_views_generic.py +27 -12
- wagtail/admin/tests/test_workflows.py +69 -0
- wagtail/admin/tests/tests.py +23 -4
- wagtail/admin/tests/ui/test_sidebar.py +1 -1
- wagtail/admin/tests/viewsets/test_model_viewset.py +15 -13
- wagtail/admin/ui/side_panels.py +7 -4
- wagtail/admin/urls/__init__.py +6 -0
- wagtail/admin/urls/pages.py +1 -1
- wagtail/admin/userbar.py +21 -1
- wagtail/admin/views/account.py +5 -0
- wagtail/admin/views/chooser.py +5 -1
- wagtail/admin/views/collections.py +0 -2
- wagtail/admin/views/generic/base.py +20 -10
- wagtail/admin/views/generic/history.py +0 -1
- wagtail/admin/views/generic/models.py +79 -21
- wagtail/admin/views/generic/preview.py +50 -1
- wagtail/admin/views/mixins.py +4 -2
- wagtail/admin/views/pages/bulk_actions/delete.py +11 -23
- wagtail/admin/views/pages/bulk_actions/page_bulk_action.py +17 -0
- wagtail/admin/views/pages/bulk_actions/publish.py +11 -31
- wagtail/admin/views/pages/bulk_actions/unpublish.py +11 -31
- wagtail/admin/views/pages/create.py +1 -0
- wagtail/admin/views/pages/edit.py +38 -30
- wagtail/admin/views/pages/revisions.py +43 -114
- wagtail/admin/views/pages/utils.py +0 -1
- wagtail/admin/views/tags.py +6 -2
- wagtail/admin/views/workflows.py +8 -6
- wagtail/admin/viewsets/model.py +0 -4
- wagtail/admin/viewsets/pages.py +0 -1
- wagtail/admin/widgets/tags.py +1 -0
- wagtail/api/v2/tests/test_documents.py +4 -2
- wagtail/api/v2/tests/test_images.py +4 -2
- wagtail/api/v2/tests/test_pages.py +8 -4
- wagtail/blocks/base.py +59 -1
- wagtail/blocks/field_block.py +6 -0
- wagtail/blocks/list_block.py +4 -0
- wagtail/blocks/static_block.py +3 -0
- wagtail/blocks/stream_block.py +5 -1
- wagtail/blocks/struct_block.py +6 -0
- wagtail/compat.py +16 -0
- wagtail/contrib/forms/forms.py +27 -7
- wagtail/contrib/forms/locale/en/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/forms/locale/gl/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/gl/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/forms/tests/test_models.py +7 -5
- wagtail/contrib/forms/tests/test_views.py +75 -0
- wagtail/contrib/frontend_cache/backends/cloudfront.py +1 -1
- wagtail/contrib/frontend_cache/tasks.py +83 -0
- wagtail/contrib/frontend_cache/tests.py +48 -33
- wagtail/contrib/frontend_cache/utils.py +2 -70
- wagtail/contrib/redirects/base_formats.py +2 -2
- wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.po +3 -0
- wagtail/contrib/redirects/locale/en/LC_MESSAGES/django.po +24 -37
- wagtail/contrib/redirects/templates/wagtailredirects/add.html +1 -24
- wagtail/contrib/redirects/templates/wagtailredirects/confirm_delete.html +3 -13
- wagtail/contrib/redirects/tests/test_redirects.py +122 -110
- wagtail/contrib/redirects/tests/test_signal_handlers.py +75 -69
- wagtail/contrib/redirects/urls.py +2 -2
- wagtail/contrib/redirects/views.py +35 -73
- wagtail/contrib/search_promotions/admin_urls.py +10 -3
- wagtail/contrib/search_promotions/forms.py +55 -26
- wagtail/contrib/search_promotions/locale/en/LC_MESSAGES/django.po +44 -54
- wagtail/contrib/search_promotions/templates/wagtailsearchpromotions/add.html +21 -31
- wagtail/contrib/search_promotions/templates/wagtailsearchpromotions/confirm_delete.html +3 -12
- wagtail/contrib/search_promotions/templates/wagtailsearchpromotions/edit.html +11 -34
- wagtail/contrib/search_promotions/templates/wagtailsearchpromotions/includes/searchpromotion_form.html +1 -0
- wagtail/contrib/search_promotions/templates/wagtailsearchpromotions/includes/searchpromotions_formset.js +2 -1
- wagtail/contrib/search_promotions/templates/wagtailsearchpromotions/index.html +0 -1
- wagtail/contrib/search_promotions/tests.py +814 -13
- wagtail/contrib/search_promotions/views/__init__.py +1 -0
- wagtail/contrib/search_promotions/views/reports.py +56 -0
- wagtail/contrib/search_promotions/views/settings.py +258 -0
- wagtail/contrib/search_promotions/wagtail_hooks.py +12 -1
- wagtail/contrib/settings/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/ar/LC_MESSAGES/django.po +6 -1
- wagtail/contrib/settings/locale/en/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/templates/wagtailsettings/edit.html +1 -5
- wagtail/contrib/settings/tests/generic/test_admin.py +2 -5
- wagtail/contrib/settings/tests/generic/test_register.py +1 -1
- wagtail/contrib/settings/tests/site_specific/test_admin.py +2 -5
- wagtail/contrib/settings/tests/site_specific/test_register.py +1 -1
- wagtail/contrib/settings/views.py +9 -23
- 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/table_block/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/table_block/tests.py +4 -1
- wagtail/contrib/typed_table_block/blocks.py +3 -0
- wagtail/contrib/typed_table_block/locale/en/LC_MESSAGES/django.po +10 -10
- wagtail/contrib/typed_table_block/static/typed_table_block/js/typed_table_block.js +1 -1
- wagtail/contrib/typed_table_block/tests.py +33 -0
- wagtail/documents/locale/en/LC_MESSAGES/django.po +26 -26
- wagtail/documents/migrations/0011_add_choose_permissions.py +1 -0
- wagtail/documents/models.py +1 -0
- wagtail/documents/signal_handlers.py +6 -2
- wagtail/documents/static/wagtaildocs/js/add-multiple.js +1 -1
- wagtail/documents/templates/wagtaildocs/documents/edit.html +1 -3
- wagtail/documents/templates/wagtaildocs/multiple/add.html +7 -1
- wagtail/documents/tests/test_admin_views.py +74 -33
- wagtail/documents/tests/test_views.py +21 -12
- wagtail/documents/views/chooser.py +1 -0
- wagtail/documents/views/documents.py +1 -2
- wagtail/documents/views/multiple.py +0 -1
- wagtail/documents/views/serve.py +9 -2
- wagtail/documents/wagtail_hooks.py +6 -1
- wagtail/embeds/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/embeds/oembed_providers.py +0 -64
- wagtail/fields.py +3 -0
- wagtail/images/apps.py +2 -1
- wagtail/images/blocks.py +14 -2
- wagtail/images/forms.py +40 -3
- wagtail/images/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/ar/LC_MESSAGES/django.po +4 -0
- wagtail/images/locale/en/LC_MESSAGES/django.po +49 -49
- wagtail/images/migrations/0023_add_choose_permissions.py +1 -0
- wagtail/images/rich_text/contentstate.py +1 -0
- wagtail/images/rich_text/editor_html.py +1 -0
- wagtail/images/signal_handlers.py +17 -10
- wagtail/images/static/wagtailimages/js/add-multiple.js +1 -1
- wagtail/images/static/wagtailimages/js/image-block.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.fileupload-image.js +1 -1
- wagtail/images/tasks.py +18 -0
- wagtail/images/templates/wagtailimages/images/edit.html +1 -3
- wagtail/images/templates/wagtailimages/images/url_generator.html +1 -1
- wagtail/images/templates/wagtailimages/multiple/add.html +7 -2
- wagtail/images/templates/wagtailimages/widgets/image_chooser.html +1 -1
- wagtail/images/tests/test_admin_views.py +53 -29
- wagtail/images/tests/test_blocks.py +34 -2
- wagtail/images/tests/test_models.py +12 -10
- wagtail/images/tests/tests.py +10 -0
- wagtail/images/views/chooser.py +1 -0
- wagtail/images/views/images.py +1 -3
- wagtail/images/views/multiple.py +0 -1
- wagtail/images/views/serve.py +18 -2
- wagtail/images/widgets.py +3 -0
- wagtail/locale/en/LC_MESSAGES/django.po +228 -216
- wagtail/locales/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/management/commands/publish_scheduled.py +1 -1
- wagtail/migrations/0087_alter_grouppagepermission_unique_together_and_more.py +16 -8
- wagtail/models/__init__.py +300 -119
- wagtail/models/i18n.py +2 -2
- wagtail/models/panels.py +37 -0
- wagtail/models/sites.py +7 -6
- wagtail/permission_policies/pages.py +2 -2
- wagtail/project_template/project_name/settings/base.py +4 -0
- wagtail/project_template/requirements.txt +1 -1
- wagtail/query.py +145 -0
- wagtail/search/backends/database/mysql/mysql.py +25 -17
- wagtail/search/backends/database/postgres/postgres.py +44 -83
- wagtail/search/backends/database/sqlite/sqlite.py +25 -17
- wagtail/search/backends/elasticsearch7.py +4 -0
- wagtail/search/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/search/query.py +8 -2
- wagtail/search/signal_handlers.py +6 -9
- wagtail/search/tasks.py +10 -0
- wagtail/search/tests/test_elasticsearch7_backend.py +21 -0
- wagtail/search/tests/test_index_functions.py +10 -6
- wagtail/search/tests/test_postgres_backend.py +0 -14
- wagtail/signal_handlers.py +5 -20
- wagtail/sites/locale/en/LC_MESSAGES/django.po +1 -1
- wagtail/snippets/locale/en/LC_MESSAGES/django.po +3 -13
- wagtail/snippets/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/sv/LC_MESSAGES/django.po +4 -3
- wagtail/snippets/tests/test_preview.py +5 -0
- wagtail/snippets/tests/test_snippets.py +100 -45
- wagtail/snippets/tests/test_usage.py +29 -24
- wagtail/snippets/tests/test_viewset.py +1 -1
- wagtail/snippets/views/snippets.py +0 -12
- wagtail/tasks.py +41 -0
- wagtail/templates/wagtailcore/shared/block_preview.html +29 -0
- wagtail/test/earlypage/__init__.py +0 -0
- wagtail/test/earlypage/migrations/0001_initial.py +37 -0
- wagtail/test/earlypage/migrations/__init__.py +0 -0
- wagtail/test/earlypage/models.py +14 -0
- wagtail/test/settings.py +3 -0
- wagtail/test/testapp/fixtures/test.json +7 -0
- wagtail/test/testapp/fixtures/test_specific.json +6 -3
- wagtail/test/testapp/models.py +58 -44
- wagtail/test/testapp/templates/tests/custom_block_preview.html +16 -0
- wagtail/test/testapp/templates/tests/static_block_preview.html +5 -0
- wagtail/test/testapp/wagtail_hooks.py +9 -0
- wagtail/tests/test_blocks.py +189 -2
- wagtail/tests/test_hooks.py +166 -1
- wagtail/tests/test_management_commands.py +54 -13
- wagtail/tests/test_page_allowed_http_methods.py +32 -0
- wagtail/tests/test_page_model.py +68 -0
- wagtail/tests/test_page_privacy.py +10 -0
- wagtail/tests/test_page_queryset.py +79 -0
- wagtail/tests/test_reference_index.py +84 -75
- wagtail/tests/test_streamfield.py +30 -0
- wagtail/tests/test_utils.py +61 -0
- wagtail/users/forms.py +2 -9
- wagtail/users/locale/en/LC_MESSAGES/django.po +17 -17
- wagtail/users/locale/nl/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/nl/LC_MESSAGES/django.po +4 -3
- wagtail/users/templates/wagtailusers/groups/create.html +0 -5
- wagtail/users/templates/wagtailusers/groups/includes/page_permissions_form.html +1 -1
- wagtail/users/templates/wagtailusers/groups/includes/page_permissions_formset.html +6 -6
- wagtail/users/tests/test_admin_views.py +96 -4
- wagtail/users/tests/test_utils.py +76 -0
- wagtail/users/utils.py +43 -11
- wagtail/utils/setup.py +2 -2
- wagtail/utils/templates.py +26 -0
- wagtail/utils/widgets.py +1 -0
- wagtail/views.py +9 -1
- wagtail/wagtail_hooks.py +67 -29
- {wagtail-6.3.1.dist-info → wagtail-6.4rc1.dist-info}/METADATA +2 -2
- {wagtail-6.3.1.dist-info → wagtail-6.4rc1.dist-info}/RECORD +300 -287
- wagtail/admin/static/wagtailadmin/js/expanding-formset.js +0 -1
- wagtail/admin/static/wagtailadmin/js/vendor/rangy-core.js +0 -1
- wagtail/admin/static/wagtailadmin/js/vendor/uuidv4.min.js +0 -1
- wagtail/contrib/search_promotions/views.py +0 -323
- wagtail/images/static/wagtailimages/js/vendor/canvas-to-blob.min.js +0 -1
- wagtail/users/static/wagtailusers/js/group-form.js +0 -1
- wagtail/users/templates/wagtailusers/groups/includes/group_form_js.html +0 -3
- {wagtail-6.3.1.dist-info → wagtail-6.4rc1.dist-info}/LICENSE +0 -0
- {wagtail-6.3.1.dist-info → wagtail-6.4rc1.dist-info}/WHEEL +0 -0
- {wagtail-6.3.1.dist-info → wagtail-6.4rc1.dist-info}/entry_points.txt +0 -0
- {wagtail-6.3.1.dist-info → wagtail-6.4rc1.dist-info}/top_level.txt +0 -0
|
@@ -162,7 +162,6 @@ class CreateView(generic.CreateView):
|
|
|
162
162
|
error_message = gettext_lazy("The document could not be created due to errors.")
|
|
163
163
|
template_name = "wagtaildocs/documents/add.html"
|
|
164
164
|
header_icon = "doc-full-inverse"
|
|
165
|
-
_show_breadcrumbs = True
|
|
166
165
|
|
|
167
166
|
@cached_property
|
|
168
167
|
def model(self):
|
|
@@ -197,7 +196,6 @@ class EditView(generic.EditView):
|
|
|
197
196
|
delete_url_name = "wagtaildocs:delete"
|
|
198
197
|
header_icon = "doc-full-inverse"
|
|
199
198
|
context_object_name = "document"
|
|
200
|
-
_show_breadcrumbs = True
|
|
201
199
|
|
|
202
200
|
@cached_property
|
|
203
201
|
def model(self):
|
|
@@ -253,6 +251,7 @@ class EditView(generic.EditView):
|
|
|
253
251
|
|
|
254
252
|
def get_context_data(self, **kwargs):
|
|
255
253
|
context = super().get_context_data(**kwargs)
|
|
254
|
+
context["usage_count_val"] = self.object.get_usage().count()
|
|
256
255
|
context["filesize"] = self.object.get_file_size()
|
|
257
256
|
context["next"] = self.next_url
|
|
258
257
|
return context
|
|
@@ -25,7 +25,6 @@ class AddView(WagtailAdminTemplateMixin, BaseAddView):
|
|
|
25
25
|
template_name = "wagtaildocs/multiple/add.html"
|
|
26
26
|
header_icon = "doc-full-inverse"
|
|
27
27
|
page_title = gettext_lazy("Add documents")
|
|
28
|
-
_show_breadcrumbs = True
|
|
29
28
|
|
|
30
29
|
index_url_name = "wagtaildocs:index"
|
|
31
30
|
edit_object_url_name = "wagtaildocs:edit_multiple"
|
wagtail/documents/views/serve.py
CHANGED
|
@@ -90,7 +90,7 @@ def serve(request, document_id, document_filename):
|
|
|
90
90
|
# Fallback to streaming backend if user hasn't specified SENDFILE_BACKEND
|
|
91
91
|
sendfile_opts["backend"] = sendfile_streaming_backend.sendfile
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
response = sendfile(request, local_path, **sendfile_opts)
|
|
94
94
|
|
|
95
95
|
else:
|
|
96
96
|
# We are using a storage backend which does not expose filesystem paths
|
|
@@ -107,7 +107,14 @@ def serve(request, document_id, document_filename):
|
|
|
107
107
|
# FIXME: storage backends are not guaranteed to implement 'size'
|
|
108
108
|
response["Content-Length"] = doc.file.size
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
# Add a CSP header to prevent inline execution
|
|
111
|
+
if getattr(settings, "WAGTAILDOCS_BLOCK_EMBEDDED_CONTENT", True):
|
|
112
|
+
response["Content-Security-Policy"] = "default-src 'none'"
|
|
113
|
+
|
|
114
|
+
# Prevent browsers from auto-detecting the content-type of a document
|
|
115
|
+
response["X-Content-Type-Options"] = "nosniff"
|
|
116
|
+
|
|
117
|
+
return response
|
|
111
118
|
|
|
112
119
|
|
|
113
120
|
def authenticate_with_password(request, restriction_id):
|
|
@@ -3,6 +3,7 @@ from warnings import warn
|
|
|
3
3
|
from django.conf import settings
|
|
4
4
|
from django.template.response import TemplateResponse
|
|
5
5
|
from django.urls import include, path, reverse, reverse_lazy
|
|
6
|
+
from django.utils.cache import add_never_cache_headers
|
|
6
7
|
from django.utils.translation import gettext, ngettext
|
|
7
8
|
from django.utils.translation import gettext_lazy as _
|
|
8
9
|
|
|
@@ -200,7 +201,11 @@ def check_view_restrictions(document, request):
|
|
|
200
201
|
)
|
|
201
202
|
|
|
202
203
|
context = {"form": form, "action_url": action_url}
|
|
203
|
-
|
|
204
|
+
response = TemplateResponse(
|
|
205
|
+
request, password_required_template, context
|
|
206
|
+
)
|
|
207
|
+
add_never_cache_headers(response)
|
|
208
|
+
return response
|
|
204
209
|
|
|
205
210
|
elif restriction.restriction_type in [
|
|
206
211
|
BaseViewRestriction.LOGIN,
|
|
@@ -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:
|
|
11
|
+
"POT-Creation-Date: 2025-01-20 17:59+0000\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"
|
|
@@ -5,14 +5,6 @@ animoto = {
|
|
|
5
5
|
],
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
app_net = {
|
|
9
|
-
"endpoint": "https://alpha-api.app.net/oembed",
|
|
10
|
-
"urls": [
|
|
11
|
-
r"^https?://alpha\.app\.net/[^#?/]+/post/.+$",
|
|
12
|
-
r"^https?://photos\.app\.net/[^#?/]+/.+$",
|
|
13
|
-
],
|
|
14
|
-
}
|
|
15
|
-
|
|
16
8
|
audioboom = {
|
|
17
9
|
"endpoint": "https://audioboom.com/publishing/oembed.{format}",
|
|
18
10
|
"urls": [
|
|
@@ -21,22 +13,6 @@ audioboom = {
|
|
|
21
13
|
],
|
|
22
14
|
}
|
|
23
15
|
|
|
24
|
-
bambuser = {
|
|
25
|
-
"endpoint": "http://api.bambuser.com/oembed.{format}",
|
|
26
|
-
"urls": [
|
|
27
|
-
r"^http://bambuser\.com/channel/[^#?/]+/broadcast/.+$",
|
|
28
|
-
r"^http://bambuser\.com/channel/.+$",
|
|
29
|
-
r"^http://bambuser\.com/v/.+$",
|
|
30
|
-
],
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
blip_tv = {
|
|
34
|
-
"endpoint": "http://blip.tv/oembed/",
|
|
35
|
-
"urls": [
|
|
36
|
-
r"^http://[-\w]+\.blip\.tv/.+$",
|
|
37
|
-
],
|
|
38
|
-
}
|
|
39
|
-
|
|
40
16
|
cacoo = {
|
|
41
17
|
"endpoint": "http://cacoo.com/oembed.{format}",
|
|
42
18
|
"urls": [
|
|
@@ -392,24 +368,6 @@ pinterest = {
|
|
|
392
368
|
}
|
|
393
369
|
|
|
394
370
|
|
|
395
|
-
qik = {
|
|
396
|
-
"endpoint": "http://qik.com/api/oembed.{format}",
|
|
397
|
-
"urls": [
|
|
398
|
-
r"^http://qik\.com/.+$",
|
|
399
|
-
r"^http://qik\.ly/.+$",
|
|
400
|
-
],
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
rdio = {
|
|
405
|
-
"endpoint": "http://www.rdio.com/api/oembed",
|
|
406
|
-
"urls": [
|
|
407
|
-
r"^http://(?:wwww\.)?rdio\.com/people/[^#?/]+/playlists/.+$",
|
|
408
|
-
r"^http://[-\w]+\.rdio\.com/artist/[^#?/]+/album/.+$",
|
|
409
|
-
],
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
|
|
413
371
|
reddit = {
|
|
414
372
|
"endpoint": "https://www.reddit.com/oembed",
|
|
415
373
|
"urls": [
|
|
@@ -418,13 +376,6 @@ reddit = {
|
|
|
418
376
|
}
|
|
419
377
|
|
|
420
378
|
|
|
421
|
-
revision3 = {
|
|
422
|
-
"endpoint": "http://revision3.com/api/oembed/",
|
|
423
|
-
"urls": [
|
|
424
|
-
r"^http://[-\w]+\.revision3\.com/.+$",
|
|
425
|
-
],
|
|
426
|
-
}
|
|
427
|
-
|
|
428
379
|
roomshare = {
|
|
429
380
|
"endpoint": "https://roomshare.jp/oembed.{format}",
|
|
430
381
|
"urls": [
|
|
@@ -574,14 +525,6 @@ ustream = {
|
|
|
574
525
|
}
|
|
575
526
|
|
|
576
527
|
|
|
577
|
-
vhx_tv = {
|
|
578
|
-
"endpoint": "http://vhx.tv/services/oembed.{format}",
|
|
579
|
-
"urls": [
|
|
580
|
-
r"^https?://(?:www\.)?vhx\.tv/.+$",
|
|
581
|
-
],
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
|
|
585
528
|
videojug = {
|
|
586
529
|
"endpoint": "http://www.videojug.com/oembed.{format}",
|
|
587
530
|
"urls": [
|
|
@@ -680,10 +623,7 @@ youtube = {
|
|
|
680
623
|
|
|
681
624
|
all_providers = [
|
|
682
625
|
animoto,
|
|
683
|
-
app_net,
|
|
684
626
|
audioboom,
|
|
685
|
-
bambuser,
|
|
686
|
-
blip_tv,
|
|
687
627
|
cacoo,
|
|
688
628
|
chirb,
|
|
689
629
|
circuitlab,
|
|
@@ -728,10 +668,7 @@ all_providers = [
|
|
|
728
668
|
opera,
|
|
729
669
|
photobucket,
|
|
730
670
|
pinterest,
|
|
731
|
-
qik,
|
|
732
|
-
rdio,
|
|
733
671
|
reddit,
|
|
734
|
-
revision3,
|
|
735
672
|
roomshare,
|
|
736
673
|
sapo,
|
|
737
674
|
screenr,
|
|
@@ -751,7 +688,6 @@ all_providers = [
|
|
|
751
688
|
twitter,
|
|
752
689
|
urtak,
|
|
753
690
|
ustream,
|
|
754
|
-
vhx_tv,
|
|
755
691
|
viddler,
|
|
756
692
|
videojug,
|
|
757
693
|
vidyard,
|
wagtail/fields.py
CHANGED
|
@@ -239,6 +239,9 @@ class StreamField(models.Field):
|
|
|
239
239
|
defaults.update(kwargs)
|
|
240
240
|
return super().formfield(**defaults)
|
|
241
241
|
|
|
242
|
+
def get_default(self):
|
|
243
|
+
return self.stream_block.normalize(super().get_default())
|
|
244
|
+
|
|
242
245
|
def value_to_string(self, obj):
|
|
243
246
|
# This method is used for serialization using django.core.serializers,
|
|
244
247
|
# which is used by dumpdata and loaddata for serializing model objects.
|
wagtail/images/apps.py
CHANGED
|
@@ -3,7 +3,6 @@ from django.db.models import ForeignKey
|
|
|
3
3
|
from django.utils.translation import gettext_lazy as _
|
|
4
4
|
|
|
5
5
|
from . import checks, get_image_model # NOQA: F401
|
|
6
|
-
from .signal_handlers import register_signal_handlers
|
|
7
6
|
|
|
8
7
|
|
|
9
8
|
class WagtailImagesAppConfig(AppConfig):
|
|
@@ -14,6 +13,8 @@ class WagtailImagesAppConfig(AppConfig):
|
|
|
14
13
|
default_attrs = {}
|
|
15
14
|
|
|
16
15
|
def ready(self):
|
|
16
|
+
from .signal_handlers import register_signal_handlers
|
|
17
|
+
|
|
17
18
|
register_signal_handlers()
|
|
18
19
|
|
|
19
20
|
# Set up model forms to use AdminImageChooser for any ForeignKey to the image model
|
wagtail/images/blocks.py
CHANGED
|
@@ -140,7 +140,11 @@ class ImageBlock(StructBlock):
|
|
|
140
140
|
# For backward compatibility with ImageChooserBlock
|
|
141
141
|
if value is None or isinstance(value, int):
|
|
142
142
|
image = self.child_blocks["image"].to_python(value)
|
|
143
|
-
struct_value = {
|
|
143
|
+
struct_value = {
|
|
144
|
+
"image": image,
|
|
145
|
+
"decorative": False,
|
|
146
|
+
"alt_text": (image.default_alt_text if image else ""),
|
|
147
|
+
}
|
|
144
148
|
else:
|
|
145
149
|
struct_value = super().to_python(value)
|
|
146
150
|
return self._struct_value_to_image(struct_value)
|
|
@@ -157,7 +161,7 @@ class ImageBlock(StructBlock):
|
|
|
157
161
|
{
|
|
158
162
|
"image": image,
|
|
159
163
|
"decorative": False,
|
|
160
|
-
"alt_text":
|
|
164
|
+
"alt_text": (image.default_alt_text if image else ""),
|
|
161
165
|
}
|
|
162
166
|
for image in image_values
|
|
163
167
|
]
|
|
@@ -242,6 +246,14 @@ class ImageBlock(StructBlock):
|
|
|
242
246
|
def render_basic(self, value, context=None):
|
|
243
247
|
return self.child_blocks["image"].render_basic(value, context=context)
|
|
244
248
|
|
|
249
|
+
def get_block_by_content_path(self, value, path_elements):
|
|
250
|
+
if path_elements:
|
|
251
|
+
return super().get_block_by_content_path(
|
|
252
|
+
self._image_to_struct_value(value), path_elements
|
|
253
|
+
)
|
|
254
|
+
else:
|
|
255
|
+
return self.bind(value)
|
|
256
|
+
|
|
245
257
|
class Meta:
|
|
246
258
|
icon = "image"
|
|
247
259
|
template = "wagtailimages/widgets/image.html"
|
wagtail/images/forms.py
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
1
3
|
from django import forms
|
|
2
4
|
from django.conf import settings
|
|
3
5
|
from django.forms.models import modelform_factory
|
|
@@ -190,9 +192,44 @@ class URLGeneratorForm(forms.Form):
|
|
|
190
192
|
("fill", _("Resize to fill")),
|
|
191
193
|
),
|
|
192
194
|
)
|
|
193
|
-
width = forms.IntegerField(
|
|
194
|
-
|
|
195
|
-
|
|
195
|
+
width = forms.IntegerField(
|
|
196
|
+
label=_("Width"),
|
|
197
|
+
min_value=0,
|
|
198
|
+
widget=forms.NumberInput(
|
|
199
|
+
attrs={
|
|
200
|
+
"disabled": True,
|
|
201
|
+
"data-w-rules-target": "enable",
|
|
202
|
+
"data-w-rules": json.dumps(
|
|
203
|
+
{"filter_method": ["width", "max", "min", "fill"]}
|
|
204
|
+
),
|
|
205
|
+
},
|
|
206
|
+
),
|
|
207
|
+
)
|
|
208
|
+
height = forms.IntegerField(
|
|
209
|
+
label=_("Height"),
|
|
210
|
+
min_value=0,
|
|
211
|
+
widget=forms.NumberInput(
|
|
212
|
+
attrs={
|
|
213
|
+
"disabled": True,
|
|
214
|
+
"data-w-rules-target": "enable",
|
|
215
|
+
"data-w-rules": json.dumps(
|
|
216
|
+
{"filter_method": ["height", "max", "min", "fill"]}
|
|
217
|
+
),
|
|
218
|
+
}
|
|
219
|
+
),
|
|
220
|
+
)
|
|
221
|
+
closeness = forms.IntegerField(
|
|
222
|
+
label=_("Closeness"),
|
|
223
|
+
min_value=0,
|
|
224
|
+
initial=0,
|
|
225
|
+
widget=forms.NumberInput(
|
|
226
|
+
attrs={
|
|
227
|
+
"disabled": True,
|
|
228
|
+
"data-w-rules-target": "enable",
|
|
229
|
+
"data-w-rules": json.dumps({"filter_method": ["fill"]}),
|
|
230
|
+
}
|
|
231
|
+
),
|
|
232
|
+
)
|
|
196
233
|
|
|
197
234
|
|
|
198
235
|
GroupImagePermissionFormSet = collection_member_permission_formset_factory(
|
|
Binary file
|
|
@@ -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:
|
|
11
|
+
"POT-Creation-Date: 2025-01-20 17:59+0000\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"
|
|
@@ -18,19 +18,19 @@ msgstr ""
|
|
|
18
18
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
19
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
20
20
|
|
|
21
|
-
#: apps.py:
|
|
21
|
+
#: apps.py:11
|
|
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:162
|
|
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:164
|
|
30
30
|
msgid "Alt text"
|
|
31
31
|
msgstr ""
|
|
32
32
|
|
|
33
|
-
#: blocks.py:
|
|
33
|
+
#: blocks.py:196 forms.py:177
|
|
34
34
|
msgid "Please add some alt text for your image or mark it as decorative"
|
|
35
35
|
msgstr ""
|
|
36
36
|
|
|
@@ -88,75 +88,75 @@ msgstr ""
|
|
|
88
88
|
msgid "Right-aligned"
|
|
89
89
|
msgstr ""
|
|
90
90
|
|
|
91
|
-
#: forms.py:
|
|
91
|
+
#: forms.py:31 views/bulk_actions/add_to_collection.py:13
|
|
92
92
|
msgid "Collection"
|
|
93
93
|
msgstr ""
|
|
94
94
|
|
|
95
|
-
#: forms.py:
|
|
95
|
+
#: forms.py:157
|
|
96
96
|
msgid "Format"
|
|
97
97
|
msgstr ""
|
|
98
98
|
|
|
99
|
-
#: forms.py:
|
|
99
|
+
#: forms.py:185
|
|
100
100
|
msgid "Filter"
|
|
101
101
|
msgstr ""
|
|
102
102
|
|
|
103
|
-
#: forms.py:
|
|
103
|
+
#: forms.py:187
|
|
104
104
|
msgid "Original size"
|
|
105
105
|
msgstr ""
|
|
106
106
|
|
|
107
|
-
#: forms.py:
|
|
107
|
+
#: forms.py:188
|
|
108
108
|
msgid "Resize to width"
|
|
109
109
|
msgstr ""
|
|
110
110
|
|
|
111
|
-
#: forms.py:
|
|
111
|
+
#: forms.py:189
|
|
112
112
|
msgid "Resize to height"
|
|
113
113
|
msgstr ""
|
|
114
114
|
|
|
115
|
-
#: forms.py:
|
|
115
|
+
#: forms.py:190
|
|
116
116
|
msgid "Resize to min"
|
|
117
117
|
msgstr ""
|
|
118
118
|
|
|
119
|
-
#: forms.py:
|
|
119
|
+
#: forms.py:191
|
|
120
120
|
msgid "Resize to max"
|
|
121
121
|
msgstr ""
|
|
122
122
|
|
|
123
|
-
#: forms.py:
|
|
123
|
+
#: forms.py:192
|
|
124
124
|
msgid "Resize to fill"
|
|
125
125
|
msgstr ""
|
|
126
126
|
|
|
127
|
-
#: forms.py:
|
|
127
|
+
#: forms.py:196
|
|
128
128
|
msgid "Width"
|
|
129
129
|
msgstr ""
|
|
130
130
|
|
|
131
|
-
#: forms.py:
|
|
131
|
+
#: forms.py:209
|
|
132
132
|
msgid "Height"
|
|
133
133
|
msgstr ""
|
|
134
134
|
|
|
135
|
-
#: forms.py:
|
|
135
|
+
#: forms.py:222
|
|
136
136
|
msgid "Closeness"
|
|
137
137
|
msgstr ""
|
|
138
138
|
|
|
139
|
-
#: forms.py:
|
|
139
|
+
#: forms.py:238
|
|
140
140
|
msgid "Add"
|
|
141
141
|
msgstr ""
|
|
142
142
|
|
|
143
|
-
#: forms.py:
|
|
143
|
+
#: forms.py:238
|
|
144
144
|
msgid "Add/edit images you own"
|
|
145
145
|
msgstr ""
|
|
146
146
|
|
|
147
|
-
#: forms.py:
|
|
147
|
+
#: forms.py:239
|
|
148
148
|
msgid "Edit"
|
|
149
149
|
msgstr ""
|
|
150
150
|
|
|
151
|
-
#: forms.py:
|
|
151
|
+
#: forms.py:239
|
|
152
152
|
msgid "Edit any image"
|
|
153
153
|
msgstr ""
|
|
154
154
|
|
|
155
|
-
#: forms.py:
|
|
155
|
+
#: forms.py:240
|
|
156
156
|
msgid "Choose"
|
|
157
157
|
msgstr ""
|
|
158
158
|
|
|
159
|
-
#: forms.py:
|
|
159
|
+
#: forms.py:240
|
|
160
160
|
msgid "Select images in choosers"
|
|
161
161
|
msgstr ""
|
|
162
162
|
|
|
@@ -270,14 +270,14 @@ msgid "Delete images"
|
|
|
270
270
|
msgstr ""
|
|
271
271
|
|
|
272
272
|
#: templates/wagtailimages/bulk_actions/confirm_bulk_delete.html:17
|
|
273
|
-
#: views/images.py:
|
|
273
|
+
#: views/images.py:329
|
|
274
274
|
msgid "Are you sure you want to delete this image?"
|
|
275
275
|
msgid_plural "Are you sure you want to delete these images?"
|
|
276
276
|
msgstr[0] ""
|
|
277
277
|
msgstr[1] ""
|
|
278
278
|
|
|
279
279
|
#: templates/wagtailimages/bulk_actions/confirm_bulk_delete.html:28
|
|
280
|
-
#: templates/wagtailimages/images/edit.html:
|
|
280
|
+
#: templates/wagtailimages/images/edit.html:66
|
|
281
281
|
#, python-format
|
|
282
282
|
msgid "Used %(usage_count)s time"
|
|
283
283
|
msgid_plural "Used %(usage_count)s times"
|
|
@@ -374,13 +374,13 @@ msgstr ""
|
|
|
374
374
|
msgid "Add an image"
|
|
375
375
|
msgstr ""
|
|
376
376
|
|
|
377
|
-
#: templates/wagtailimages/images/add.html:45 views/chooser.py:
|
|
378
|
-
#: views/chooser.py:
|
|
377
|
+
#: templates/wagtailimages/images/add.html:45 views/chooser.py:53
|
|
378
|
+
#: views/chooser.py:320
|
|
379
379
|
msgid "Uploading…"
|
|
380
380
|
msgstr ""
|
|
381
381
|
|
|
382
|
-
#: templates/wagtailimages/images/add.html:48 views/chooser.py:
|
|
383
|
-
#: views/chooser.py:
|
|
382
|
+
#: templates/wagtailimages/images/add.html:48 views/chooser.py:52
|
|
383
|
+
#: views/chooser.py:319
|
|
384
384
|
msgid "Upload"
|
|
385
385
|
msgstr ""
|
|
386
386
|
|
|
@@ -494,52 +494,52 @@ msgstr ""
|
|
|
494
494
|
msgid "Add multiple images"
|
|
495
495
|
msgstr ""
|
|
496
496
|
|
|
497
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
497
|
+
#: templates/wagtailimages/multiple/add.html:20
|
|
498
498
|
msgid "Drag and drop images into this area to upload immediately."
|
|
499
499
|
msgstr ""
|
|
500
500
|
|
|
501
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
501
|
+
#: templates/wagtailimages/multiple/add.html:25
|
|
502
502
|
msgid "Or choose from your computer"
|
|
503
503
|
msgstr ""
|
|
504
504
|
|
|
505
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
505
|
+
#: templates/wagtailimages/multiple/add.html:40
|
|
506
506
|
msgid "Add to collection:"
|
|
507
507
|
msgstr ""
|
|
508
508
|
|
|
509
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
509
|
+
#: templates/wagtailimages/multiple/add.html:73
|
|
510
510
|
msgid ""
|
|
511
511
|
"Please provide an image description to comply with best practices for "
|
|
512
512
|
"accessibility."
|
|
513
513
|
msgstr ""
|
|
514
514
|
|
|
515
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
515
|
+
#: templates/wagtailimages/multiple/add.html:74
|
|
516
516
|
msgid ""
|
|
517
517
|
"Upload successful. Please update this image with a more appropriate title, "
|
|
518
518
|
"if necessary. You may also delete the image completely if the upload wasn't "
|
|
519
519
|
"required."
|
|
520
520
|
msgstr ""
|
|
521
521
|
|
|
522
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
522
|
+
#: templates/wagtailimages/multiple/add.html:76
|
|
523
523
|
msgid ""
|
|
524
524
|
"Upload successful. However, your new image seems to be a duplicate of this "
|
|
525
525
|
"existing image. You may delete it if it wasn't required."
|
|
526
526
|
msgstr ""
|
|
527
527
|
|
|
528
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
528
|
+
#: templates/wagtailimages/multiple/add.html:78
|
|
529
529
|
msgid "Sorry, upload failed."
|
|
530
530
|
msgstr ""
|
|
531
531
|
|
|
532
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
532
|
+
#: templates/wagtailimages/multiple/add.html:80
|
|
533
533
|
msgid "Server Error"
|
|
534
534
|
msgstr ""
|
|
535
535
|
|
|
536
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
536
|
+
#: templates/wagtailimages/multiple/add.html:81
|
|
537
537
|
msgid ""
|
|
538
538
|
"Report this error to your website administrator with the following "
|
|
539
539
|
"information:"
|
|
540
540
|
msgstr ""
|
|
541
541
|
|
|
542
|
-
#: templates/wagtailimages/multiple/add.html:
|
|
542
|
+
#: templates/wagtailimages/multiple/add.html:84
|
|
543
543
|
msgid "Image updated."
|
|
544
544
|
msgstr ""
|
|
545
545
|
|
|
@@ -585,7 +585,7 @@ msgid_plural "%(num_parent_objects)d images have been added to %(collection)s"
|
|
|
585
585
|
msgstr[0] ""
|
|
586
586
|
msgstr[1] ""
|
|
587
587
|
|
|
588
|
-
#: views/bulk_actions/delete.py:8 views/images.py:
|
|
588
|
+
#: views/bulk_actions/delete.py:8 views/images.py:180
|
|
589
589
|
msgid "Delete"
|
|
590
590
|
msgstr ""
|
|
591
591
|
|
|
@@ -600,15 +600,15 @@ msgid_plural "%(num_parent_objects)d images have been deleted"
|
|
|
600
600
|
msgstr[0] ""
|
|
601
601
|
msgstr[1] ""
|
|
602
602
|
|
|
603
|
-
#: views/chooser.py:
|
|
603
|
+
#: views/chooser.py:318 widgets.py:13
|
|
604
604
|
msgid "Choose an image"
|
|
605
605
|
msgstr ""
|
|
606
606
|
|
|
607
|
-
#: views/chooser.py:
|
|
607
|
+
#: views/chooser.py:321
|
|
608
608
|
msgid "Choose another image"
|
|
609
609
|
msgstr ""
|
|
610
610
|
|
|
611
|
-
#: views/chooser.py:
|
|
611
|
+
#: views/chooser.py:322 widgets.py:15
|
|
612
612
|
msgid "Edit this image"
|
|
613
613
|
msgstr ""
|
|
614
614
|
|
|
@@ -644,12 +644,12 @@ msgstr ""
|
|
|
644
644
|
msgid "The image could not be saved due to errors."
|
|
645
645
|
msgstr ""
|
|
646
646
|
|
|
647
|
-
#: views/images.py:
|
|
647
|
+
#: views/images.py:159
|
|
648
648
|
#, python-format
|
|
649
649
|
msgid "Image '%(image_title)s' updated."
|
|
650
650
|
msgstr ""
|
|
651
651
|
|
|
652
|
-
#: views/images.py:
|
|
652
|
+
#: views/images.py:177
|
|
653
653
|
msgid ""
|
|
654
654
|
"The source image file could not be found. Please change the source or delete "
|
|
655
655
|
"the image."
|
|
@@ -659,20 +659,20 @@ msgstr ""
|
|
|
659
659
|
msgid "Generate URL"
|
|
660
660
|
msgstr ""
|
|
661
661
|
|
|
662
|
-
#: views/images.py:
|
|
662
|
+
#: views/images.py:317
|
|
663
663
|
msgid "Delete image"
|
|
664
664
|
msgstr ""
|
|
665
665
|
|
|
666
|
-
#: views/images.py:
|
|
666
|
+
#: views/images.py:335
|
|
667
667
|
#, python-format
|
|
668
668
|
msgid "Image '%(image_title)s' deleted."
|
|
669
669
|
msgstr ""
|
|
670
670
|
|
|
671
|
-
#: views/images.py:
|
|
671
|
+
#: views/images.py:345
|
|
672
672
|
msgid "The image could not be created due to errors."
|
|
673
673
|
msgstr ""
|
|
674
674
|
|
|
675
|
-
#: views/images.py:
|
|
675
|
+
#: views/images.py:365
|
|
676
676
|
#, python-format
|
|
677
677
|
msgid "Image '%(image_title)s' added."
|
|
678
678
|
msgstr ""
|