wagtail 6.1.3__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/en/LC_MESSAGES/django.po +405 -295
- wagtail/admin/locale/en/LC_MESSAGES/djangojs.po +21 -3
- wagtail/admin/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sl/LC_MESSAGES/django.po +30 -0
- 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/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/en/LC_MESSAGES/django.po +1 -1
- 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/en/LC_MESSAGES/django.po +37 -72
- 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/en/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/settings/locale/en/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/simple_translation/locale/en/LC_MESSAGES/django.po +5 -1
- wagtail/contrib/simple_translation/models.py +2 -1
- wagtail/contrib/styleguide/locale/en/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/table_block/locale/en/LC_MESSAGES/django.po +1 -1
- 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/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 +38 -0
- wagtail/coreutils.py +1 -1
- wagtail/documents/__init__.py +1 -1
- wagtail/documents/locale/en/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/sl/LC_MESSAGES/django.po +20 -0
- 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/en/LC_MESSAGES/django.po +1 -1
- 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/en/LC_MESSAGES/django.po +34 -34
- wagtail/images/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/sl/LC_MESSAGES/django.po +20 -0
- wagtail/images/models.py +2 -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 +26 -2
- wagtail/images/views/chooser.py +6 -1
- wagtail/locale/en/LC_MESSAGES/django.po +84 -80
- wagtail/locales/locale/en/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/en/LC_MESSAGES/django.po +1 -1
- wagtail/signals.py +4 -0
- wagtail/sites/locale/en/LC_MESSAGES/django.po +2 -2
- wagtail/sites/tests.py +15 -0
- wagtail/sites/wagtail_hooks.py +0 -9
- wagtail/snippets/locale/en/LC_MESSAGES/django.po +9 -9
- 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 +14 -0
- wagtail/tests/tests.py +5 -0
- wagtail/users/apps.py +1 -0
- wagtail/users/forms.py +7 -0
- wagtail/users/locale/en/LC_MESSAGES/django.po +55 -50
- 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 +1 -0
- wagtail/utils/version.py +5 -2
- {wagtail-6.1.3.dist-info → wagtail-6.2rc1.dist-info}/METADATA +3 -3
- {wagtail-6.1.3.dist-info → wagtail-6.2rc1.dist-info}/RECORD +248 -222
- 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.3.dist-info → wagtail-6.2rc1.dist-info}/LICENSE +0 -0
- {wagtail-6.1.3.dist-info → wagtail-6.2rc1.dist-info}/WHEEL +0 -0
- {wagtail-6.1.3.dist-info → wagtail-6.2rc1.dist-info}/entry_points.txt +0 -0
- {wagtail-6.1.3.dist-info → wagtail-6.2rc1.dist-info}/top_level.txt +0 -0
|
@@ -22,6 +22,12 @@ msgid_plural "%(num)s errors"
|
|
|
22
22
|
msgstr[0] ""
|
|
23
23
|
msgstr[1] ""
|
|
24
24
|
|
|
25
|
+
#: src/includes/contentMetrics.ts:113
|
|
26
|
+
msgid "%(num)s min"
|
|
27
|
+
msgid_plural "%(num)s mins"
|
|
28
|
+
msgstr[0] ""
|
|
29
|
+
msgstr[1] ""
|
|
30
|
+
|
|
25
31
|
#: src/includes/sidePanel.js:152
|
|
26
32
|
msgid "%(num)s pixel"
|
|
27
33
|
msgid_plural "%(num)s pixels"
|
|
@@ -41,7 +47,7 @@ msgstr ""
|
|
|
41
47
|
msgid "Are you sure?"
|
|
42
48
|
msgstr ""
|
|
43
49
|
|
|
44
|
-
#: src/entrypoints/admin/telepath/widgets.js:
|
|
50
|
+
#: src/entrypoints/admin/telepath/widgets.js:407
|
|
45
51
|
msgid "Blocks"
|
|
46
52
|
msgstr ""
|
|
47
53
|
|
|
@@ -121,7 +127,7 @@ msgstr ""
|
|
|
121
127
|
msgid "Enter your reply..."
|
|
122
128
|
msgstr ""
|
|
123
129
|
|
|
124
|
-
#: src/entrypoints/admin/preview-panel.js:
|
|
130
|
+
#: src/entrypoints/admin/preview-panel.js:283
|
|
125
131
|
msgid "Error while sending preview data."
|
|
126
132
|
msgstr ""
|
|
127
133
|
|
|
@@ -268,7 +274,7 @@ msgstr ""
|
|
|
268
274
|
msgid "Show latest content"
|
|
269
275
|
msgstr ""
|
|
270
276
|
|
|
271
|
-
#: src/entrypoints/admin/telepath/widgets.js:
|
|
277
|
+
#: src/entrypoints/admin/telepath/widgets.js:298
|
|
272
278
|
msgid "Split block"
|
|
273
279
|
msgstr ""
|
|
274
280
|
|
|
@@ -276,6 +282,18 @@ msgstr ""
|
|
|
276
282
|
msgid "The editor just crashed. Content has been reset to the last saved version."
|
|
277
283
|
msgstr ""
|
|
278
284
|
|
|
285
|
+
#: src/components/StreamField/blocks/ListBlock.js:196
|
|
286
|
+
#: src/components/StreamField/blocks/StreamBlock.js:271
|
|
287
|
+
#: src/components/StreamField/blocks/StreamBlock.js:295
|
|
288
|
+
msgid "The maximum number of items is %(max_num)d"
|
|
289
|
+
msgstr ""
|
|
290
|
+
|
|
291
|
+
#: src/components/StreamField/blocks/ListBlock.js:207
|
|
292
|
+
#: src/components/StreamField/blocks/StreamBlock.js:279
|
|
293
|
+
#: src/components/StreamField/blocks/StreamBlock.js:309
|
|
294
|
+
msgid "The minimum number of items is %(min_num)d"
|
|
295
|
+
msgstr ""
|
|
296
|
+
|
|
279
297
|
#: src/includes/chooserModal.js:21
|
|
280
298
|
msgid "This field is required."
|
|
281
299
|
msgstr ""
|
|
Binary file
|
|
@@ -270,6 +270,13 @@ msgstr "Nova stran bo podrejena tej nadrejeni strani."
|
|
|
270
270
|
msgid "You do not have permission to create a page under \"%(page_title)s\"."
|
|
271
271
|
msgstr "Nimate dovoljenja za ustvarjanje strani pod \"%(page_title)s\"."
|
|
272
272
|
|
|
273
|
+
#, python-format
|
|
274
|
+
msgid ""
|
|
275
|
+
"You cannot create a page of type \"%(page_type)s\" under \"%(page_title)s\"."
|
|
276
|
+
msgstr ""
|
|
277
|
+
"Strani tipa \" 1%(page_type)s \" ne morete ustvariti pod \" 2%(page_title)s "
|
|
278
|
+
"\"."
|
|
279
|
+
|
|
273
280
|
msgid "Search…"
|
|
274
281
|
msgstr "Iskanje…"
|
|
275
282
|
|
|
@@ -706,6 +713,14 @@ msgstr ""
|
|
|
706
713
|
"Ta %(model_name)s je bil označen kot potrebna sprememb pri <strong>%(task)s</"
|
|
707
714
|
"strong> v <strong>%(workflow)s</strong>."
|
|
708
715
|
|
|
716
|
+
#, python-format
|
|
717
|
+
msgid ""
|
|
718
|
+
"This %(model_name)s is currently at <strong>%(task)s</strong> in "
|
|
719
|
+
"<strong>%(workflow)s</strong>."
|
|
720
|
+
msgstr ""
|
|
721
|
+
"Ta %(model_name)s je trenutno na <strong>%(task)s</strong> v "
|
|
722
|
+
"<strong>%(workflow)s</strong>."
|
|
723
|
+
|
|
709
724
|
#, python-format
|
|
710
725
|
msgid "Publishing this %(model_name)s will cancel the current workflow."
|
|
711
726
|
msgstr "Objava tega %(model_name)s bo preklica trenutni potek dela."
|
|
@@ -1410,6 +1425,10 @@ msgstr "Ni rezultatov v '<span class=\"w-title-ellipsis\">%(title)s</span>'."
|
|
|
1410
1425
|
msgid "Search the whole site"
|
|
1411
1426
|
msgstr "Iskanje po celotnem spletnem mestu"
|
|
1412
1427
|
|
|
1428
|
+
#, python-format
|
|
1429
|
+
msgid "%(start_index)s-%(end_index)s of %(items_count)s"
|
|
1430
|
+
msgstr "%(start_index)s - %(end_index)s od %(items_count)s"
|
|
1431
|
+
|
|
1413
1432
|
msgid "Sites menu"
|
|
1414
1433
|
msgstr "Meniji strani"
|
|
1415
1434
|
|
|
@@ -2054,6 +2073,13 @@ msgstr ""
|
|
|
2054
2073
|
"Ustvarjena ni bila nobena naloga. Zakaj nebi <a "
|
|
2055
2074
|
"href=\"%(add_url)s\">ustvarili nove </a>?"
|
|
2056
2075
|
|
|
2076
|
+
#, python-format
|
|
2077
|
+
msgid ""
|
|
2078
|
+
"There are no enabled tasks. Why not <a href=\"%(add_url)s\">add one</a>?"
|
|
2079
|
+
msgstr ""
|
|
2080
|
+
"Omogočenih nalog ni. Zakaj ne bi dodali <a href=\"%(add_url)s\">eno nalogo</"
|
|
2081
|
+
"a>?"
|
|
2082
|
+
|
|
2057
2083
|
#, python-format
|
|
2058
2084
|
msgid "Pages that use workflow '%(name)s'"
|
|
2059
2085
|
msgstr "Strani, ki uporabljajo potek dela '%(name)s'"
|
|
@@ -2640,6 +2666,10 @@ msgstr ""
|
|
|
2640
2666
|
"navzdol, da premaknete element, nato pa pritisnite enter, da pošljete "
|
|
2641
2667
|
"spremembo."
|
|
2642
2668
|
|
|
2669
|
+
#, python-format
|
|
2670
|
+
msgid "'%(page_title)s' has been moved successfully."
|
|
2671
|
+
msgstr "'%(page_title)s' je bil uspešno premaknjen."
|
|
2672
|
+
|
|
2643
2673
|
#, python-format
|
|
2644
2674
|
msgid "Page '%(page_title)s' is now unlocked."
|
|
2645
2675
|
msgstr "Stran '%(page_title)s' je sedaj odklenjena."
|
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
|
|