wagtail 6.0.1__py3-none-any.whl → 6.0.3__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/admin/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ca/LC_MESSAGES/django.po +122 -0
- wagtail/admin/locale/es/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/es/LC_MESSAGES/django.po +6 -6
- wagtail/admin/locale/fr/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/fr/LC_MESSAGES/django.po +70 -3
- wagtail/admin/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/he_IL/LC_MESSAGES/django.po +2 -6
- wagtail/admin/locale/he_IL/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/he_IL/LC_MESSAGES/djangojs.po +2 -2
- wagtail/admin/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/hr_HR/LC_MESSAGES/django.po +4 -0
- wagtail/admin/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/hu/LC_MESSAGES/django.po +142 -2
- wagtail/admin/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/it/LC_MESSAGES/django.po +80 -8
- wagtail/admin/locale/it/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/it/LC_MESSAGES/djangojs.po +14 -2
- wagtail/admin/locale/lv/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/lv/LC_MESSAGES/django.po +154 -1
- wagtail/admin/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sl/LC_MESSAGES/django.po +145 -2
- wagtail/admin/locale/sv/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/sv/LC_MESSAGES/django.po +77 -3
- wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.po +17 -1
- wagtail/admin/static/wagtailadmin/css/core.css +1 -1
- wagtail/admin/static/wagtailadmin/js/core.js +1 -1
- wagtail/admin/static/wagtailadmin/js/vendor.js +1 -1
- wagtail/admin/templates/wagtailadmin/admin_base.html +1 -0
- wagtail/admin/templates/wagtailadmin/collections/edit.html +0 -1
- wagtail/admin/templates/wagtailadmin/generic/form.html +1 -0
- wagtail/admin/templates/wagtailadmin/generic/index_results.html +8 -0
- wagtail/admin/templates/wagtailadmin/home/workflow_objects_to_moderate.html +0 -1
- wagtail/admin/templates/wagtailadmin/pages/_editor_js.html +0 -1
- wagtail/admin/templates/wagtailadmin/pages/index.html +0 -2
- wagtail/admin/templates/wagtailadmin/shared/headers/slim_header.html +1 -1
- wagtail/admin/tests/api/test_pages.py +26 -10
- wagtail/admin/tests/pages/test_page_search.py +39 -0
- wagtail/admin/tests/viewsets/test_model_viewset.py +45 -10
- wagtail/admin/views/generic/base.py +3 -0
- wagtail/admin/views/generic/models.py +27 -10
- wagtail/admin/views/pages/search.py +1 -0
- wagtail/admin/widgets/button.py +1 -2
- wagtail/contrib/forms/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/fr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.po +41 -2
- wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.po +9 -3
- wagtail/contrib/settings/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/tr/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/tr/LC_MESSAGES/django.po +6 -2
- wagtail/contrib/settings/tests/generic/test_admin.py +88 -1
- wagtail/contrib/settings/tests/site_specific/test_admin.py +92 -3
- wagtail/contrib/styleguide/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/styleguide/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/styleguide/tests.py +8 -0
- wagtail/contrib/styleguide/views.py +1 -1
- wagtail/contrib/table_block/blocks.py +1 -1
- wagtail/contrib/table_block/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/ca/LC_MESSAGES/django.po +27 -2
- wagtail/contrib/table_block/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/hu/LC_MESSAGES/django.po +27 -2
- wagtail/contrib/table_block/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/table_block/locale/it/LC_MESSAGES/django.po +27 -2
- wagtail/contrib/table_block/tests.py +6 -0
- wagtail/contrib/typed_table_block/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/ca/LC_MESSAGES/django.po +12 -2
- wagtail/contrib/typed_table_block/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/hu/LC_MESSAGES/django.po +12 -2
- wagtail/contrib/typed_table_block/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/it/LC_MESSAGES/django.po +12 -2
- wagtail/documents/locale/fr/LC_MESSAGES/django.po +2 -2
- wagtail/documents/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/documents/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/hr_HR/LC_MESSAGES/django.po +19 -2
- wagtail/documents/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/hu/LC_MESSAGES/django.po +16 -2
- wagtail/documents/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/it/LC_MESSAGES/django.po +19 -2
- wagtail/embeds/locale/fr/LC_MESSAGES/django.po +2 -2
- wagtail/embeds/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/embeds/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/images/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/ca/LC_MESSAGES/django.po +12 -0
- wagtail/images/locale/fr/LC_MESSAGES/django.po +2 -2
- wagtail/images/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/images/locale/hu/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/hu/LC_MESSAGES/django.po +28 -2
- wagtail/images/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/it/LC_MESSAGES/django.po +14 -2
- wagtail/locale/es/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/es/LC_MESSAGES/django.po +3 -2
- wagtail/locale/fr/LC_MESSAGES/django.po +2 -2
- wagtail/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/locale/it/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/it/LC_MESSAGES/django.po +5 -5
- wagtail/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/sl/LC_MESSAGES/django.po +27 -2
- wagtail/locales/locale/ar/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/be/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/bg/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/ca/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/cs/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/cy/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/da/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/de/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/el/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/es/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/et/LC_MESSAGES/django.po +2 -2
- wagtail/locales/locale/fa/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/fi/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/fr/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/gl/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/locales/locale/he_IL/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/hr_HR/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/hu/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/id_ID/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/is_IS/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/it/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/ja/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/ko/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/lt/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/lv/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/mi/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/mn/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/my/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/nb/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/nl/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/pl/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/pt_PT/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/ro/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/ru/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/sk_SK/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/sl/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/sv/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/tet/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/th/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/tr/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/tr_TR/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/uk/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/vi/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/zh/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
- wagtail/locales/locale/zh_Hant/LC_MESSAGES/django.po +1 -1
- wagtail/management/commands/convert_mariadb_uuids.py +43 -0
- wagtail/sites/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/sites/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/sites/locale/ro/LC_MESSAGES/django.mo +0 -0
- wagtail/sites/locale/ro/LC_MESSAGES/django.po +3 -2
- wagtail/sites/templates/wagtailsites/create.html +0 -1
- wagtail/sites/templates/wagtailsites/edit.html +0 -1
- wagtail/snippets/locale/de/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/de/LC_MESSAGES/django.po +2 -2
- wagtail/snippets/locale/fr/LC_MESSAGES/django.po +2 -2
- wagtail/snippets/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/snippets/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/hr_HR/LC_MESSAGES/django.po +6 -2
- wagtail/snippets/locale/lv/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/lv/LC_MESSAGES/django.po +12 -0
- wagtail/snippets/locale/zh_Hant/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/zh_Hant/LC_MESSAGES/django.po +4 -0
- wagtail/snippets/templates/wagtailsnippets/snippets/create.html +1 -2
- wagtail/snippets/templates/wagtailsnippets/snippets/edit.html +1 -2
- wagtail/snippets/tests/test_viewset.py +32 -0
- wagtail/snippets/views/snippets.py +0 -19
- wagtail/test/testapp/migrations/0034_testpermissionedgenericsetting_and_more.py +42 -0
- wagtail/test/testapp/models.py +46 -0
- wagtail/test/testapp/views.py +1 -1
- wagtail/users/locale/fr/LC_MESSAGES/django.po +2 -2
- wagtail/users/locale/he_IL/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/he_IL/LC_MESSAGES/django.po +2 -2
- wagtail/users/locale/hr_HR/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/hr_HR/LC_MESSAGES/django.po +13 -2
- wagtail/users/templates/wagtailusers/groups/includes/group_form_js.html +0 -1
- wagtail/users/templates/wagtailusers/users/create.html +0 -5
- wagtail/users/templates/wagtailusers/users/edit.html +0 -5
- wagtail/users/tests/test_admin_views.py +7 -1
- {wagtail-6.0.1.dist-info → wagtail-6.0.3.dist-info}/METADATA +2 -2
- {wagtail-6.0.1.dist-info → wagtail-6.0.3.dist-info}/RECORD +199 -197
- {wagtail-6.0.1.dist-info → wagtail-6.0.3.dist-info}/LICENSE +0 -0
- {wagtail-6.0.1.dist-info → wagtail-6.0.3.dist-info}/WHEEL +0 -0
- {wagtail-6.0.1.dist-info → wagtail-6.0.3.dist-info}/entry_points.txt +0 -0
- {wagtail-6.0.1.dist-info → wagtail-6.0.3.dist-info}/top_level.txt +0 -0
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
<script src="{% versioned_static 'wagtailadmin/js/wagtailadmin.js' %}"></script>
|
|
57
57
|
<script src="{% versioned_static 'wagtailadmin/js/telepath/telepath.js' %}"></script>
|
|
58
58
|
<script src="{% versioned_static 'wagtailadmin/js/sidebar.js' %}"></script>
|
|
59
|
+
<script src="{% versioned_static 'wagtailadmin/js/modal-workflow.js' %}"></script>
|
|
59
60
|
|
|
60
61
|
{% hook_output 'insert_global_admin_js' %}
|
|
61
62
|
|
|
@@ -12,6 +12,14 @@
|
|
|
12
12
|
</template>
|
|
13
13
|
{% endif %}
|
|
14
14
|
|
|
15
|
+
{% if render_buttons_fragment %}
|
|
16
|
+
<template data-controller="w-teleport" data-w-teleport-target-value="#w-slim-header-buttons" data-w-teleport-reset-value="true">
|
|
17
|
+
{% for button in header_buttons %}
|
|
18
|
+
{% component button %}
|
|
19
|
+
{% endfor %}
|
|
20
|
+
</template>
|
|
21
|
+
{% endif %}
|
|
22
|
+
|
|
15
23
|
{% if is_searching and view.show_other_searches %}
|
|
16
24
|
<div class="nice-padding">
|
|
17
25
|
{% search_other %}
|
|
@@ -89,7 +89,6 @@
|
|
|
89
89
|
</table>
|
|
90
90
|
{% endpanel %}
|
|
91
91
|
|
|
92
|
-
<script src="{% versioned_static 'wagtailadmin/js/modal-workflow.js' %}"></script>
|
|
93
92
|
<script src="{% versioned_static 'wagtailadmin/js/workflow-action.js' %}"></script>
|
|
94
93
|
<script>
|
|
95
94
|
document.querySelectorAll('[data-controller="w-dropdown"]').forEach((e) => {
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
<script src="{% versioned_static 'wagtailadmin/js/vendor/rangy-core.js' %}"></script>
|
|
19
19
|
<script src="{% versioned_static 'wagtailadmin/js/vendor/mousetrap.min.js' %}"></script>
|
|
20
20
|
<script src="{% versioned_static 'wagtailadmin/js/expanding-formset.js' %}"></script>
|
|
21
|
-
<script src="{% versioned_static 'wagtailadmin/js/modal-workflow.js' %}"></script>
|
|
22
21
|
<script src="{% versioned_static 'wagtailadmin/js/page-editor.js' %}"></script>
|
|
23
22
|
<script src="{% versioned_static 'wagtailadmin/js/preview-panel.js' %}"></script>
|
|
24
23
|
<script src="{% versioned_static 'wagtailadmin/js/privacy-switch.js' %}"></script>
|
|
@@ -23,8 +23,6 @@
|
|
|
23
23
|
{% block extra_js %}
|
|
24
24
|
{{ block.super }}
|
|
25
25
|
|
|
26
|
-
{% comment %} modal-workflow is required by the view restrictions interface {% endcomment %}
|
|
27
|
-
<script src="{% versioned_static 'wagtailadmin/js/modal-workflow.js' %}"></script>
|
|
28
26
|
<script src="{% versioned_static 'wagtailadmin/js/privacy-switch.js' %}"></script>
|
|
29
27
|
|
|
30
28
|
{% comment %}
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
{% if actions or block_actions %}
|
|
50
50
|
{# Actions divider #}
|
|
51
51
|
<div class="w-w-px w-h-[30px] w-ml-auto sm:w-ml-0 w-bg-border-furniture"></div>
|
|
52
|
-
<div class="w-flex w-items-center w-ml-3">
|
|
52
|
+
<div id="w-slim-header-buttons" class="w-flex w-items-center w-ml-3">
|
|
53
53
|
{% firstof actions block_actions %}
|
|
54
54
|
</div>
|
|
55
55
|
{% endif %}
|
|
@@ -1310,7 +1310,7 @@ class TestCopyPageAction(AdminAPITestCase, TestCase):
|
|
|
1310
1310
|
self.assertEqual(response.status_code, 403)
|
|
1311
1311
|
content = json.loads(response.content.decode("utf-8"))
|
|
1312
1312
|
self.assertEqual(
|
|
1313
|
-
content, {"detail": "You do not have permission to
|
|
1313
|
+
content, {"detail": "You do not have permission to copy this page"}
|
|
1314
1314
|
)
|
|
1315
1315
|
|
|
1316
1316
|
def test_recursively_copy_into_self(self):
|
|
@@ -1348,7 +1348,7 @@ class TestCopyPageAction(AdminAPITestCase, TestCase):
|
|
|
1348
1348
|
self.assertEqual(response.status_code, 403)
|
|
1349
1349
|
content = json.loads(response.content.decode("utf-8"))
|
|
1350
1350
|
self.assertEqual(
|
|
1351
|
-
content, {"detail": "You do not have permission to
|
|
1351
|
+
content, {"detail": "You do not have permission to copy this page"}
|
|
1352
1352
|
)
|
|
1353
1353
|
|
|
1354
1354
|
def test_without_publish_permissions_at_destination_with_keep_live(self):
|
|
@@ -1375,7 +1375,12 @@ class TestCopyPageAction(AdminAPITestCase, TestCase):
|
|
|
1375
1375
|
self.assertEqual(response.status_code, 403)
|
|
1376
1376
|
content = json.loads(response.content.decode("utf-8"))
|
|
1377
1377
|
self.assertEqual(
|
|
1378
|
-
content,
|
|
1378
|
+
content,
|
|
1379
|
+
{
|
|
1380
|
+
"detail": (
|
|
1381
|
+
"You do not have permission to publish a page at the destination"
|
|
1382
|
+
)
|
|
1383
|
+
},
|
|
1379
1384
|
)
|
|
1380
1385
|
|
|
1381
1386
|
def test_respects_page_creation_rules(self):
|
|
@@ -1385,7 +1390,7 @@ class TestCopyPageAction(AdminAPITestCase, TestCase):
|
|
|
1385
1390
|
self.assertEqual(response.status_code, 403)
|
|
1386
1391
|
content = json.loads(response.content.decode("utf-8"))
|
|
1387
1392
|
self.assertEqual(
|
|
1388
|
-
content, {"detail": "You do not have permission to
|
|
1393
|
+
content, {"detail": "You do not have permission to copy this page"}
|
|
1389
1394
|
)
|
|
1390
1395
|
|
|
1391
1396
|
def test_copy_page_slug_in_use(self):
|
|
@@ -1512,7 +1517,7 @@ class TestDeletePageAction(AdminAPITestCase, TestCase):
|
|
|
1512
1517
|
self.assertEqual(response.status_code, 403)
|
|
1513
1518
|
content = json.loads(response.content.decode("utf-8"))
|
|
1514
1519
|
self.assertEqual(
|
|
1515
|
-
content, {"detail": "You do not have permission to
|
|
1520
|
+
content, {"detail": "You do not have permission to delete this page"}
|
|
1516
1521
|
)
|
|
1517
1522
|
|
|
1518
1523
|
# Page is still there
|
|
@@ -1560,7 +1565,7 @@ class TestPublishPageAction(AdminAPITestCase, TestCase):
|
|
|
1560
1565
|
self.assertEqual(response.status_code, 403)
|
|
1561
1566
|
content = json.loads(response.content.decode("utf-8"))
|
|
1562
1567
|
self.assertEqual(
|
|
1563
|
-
content, {"detail": "You do not have permission to
|
|
1568
|
+
content, {"detail": "You do not have permission to publish this page"}
|
|
1564
1569
|
)
|
|
1565
1570
|
|
|
1566
1571
|
def test_publish_alias_page(self):
|
|
@@ -1650,7 +1655,7 @@ class TestUnpublishPageAction(AdminAPITestCase, TestCase):
|
|
|
1650
1655
|
self.assertEqual(response.status_code, 403)
|
|
1651
1656
|
content = json.loads(response.content.decode("utf-8"))
|
|
1652
1657
|
self.assertEqual(
|
|
1653
|
-
content, {"detail": "You do not have permission to
|
|
1658
|
+
content, {"detail": "You do not have permission to unpublish this page"}
|
|
1654
1659
|
)
|
|
1655
1660
|
|
|
1656
1661
|
|
|
@@ -1682,7 +1687,13 @@ class TestMovePageAction(AdminAPITestCase, TestCase):
|
|
|
1682
1687
|
|
|
1683
1688
|
content = json.loads(response.content.decode("utf-8"))
|
|
1684
1689
|
self.assertEqual(
|
|
1685
|
-
content,
|
|
1690
|
+
content,
|
|
1691
|
+
{
|
|
1692
|
+
"detail": (
|
|
1693
|
+
"You do not have permission to move the page to the "
|
|
1694
|
+
"target specified."
|
|
1695
|
+
),
|
|
1696
|
+
},
|
|
1686
1697
|
)
|
|
1687
1698
|
|
|
1688
1699
|
def test_move_page_without_destination_page_id(self):
|
|
@@ -1955,7 +1966,12 @@ class TestCreatePageAliasAction(AdminAPITestCase, TestCase):
|
|
|
1955
1966
|
|
|
1956
1967
|
content = json.loads(response.content.decode("utf-8"))
|
|
1957
1968
|
self.assertEqual(
|
|
1958
|
-
content,
|
|
1969
|
+
content,
|
|
1970
|
+
{
|
|
1971
|
+
"detail": (
|
|
1972
|
+
"You do not have permission to publish a page at the destination"
|
|
1973
|
+
),
|
|
1974
|
+
},
|
|
1959
1975
|
)
|
|
1960
1976
|
|
|
1961
1977
|
|
|
@@ -2012,7 +2028,7 @@ class TestRevertToPageRevisionAction(AdminAPITestCase, TestCase):
|
|
|
2012
2028
|
|
|
2013
2029
|
content = json.loads(response.content.decode("utf-8"))
|
|
2014
2030
|
self.assertEqual(
|
|
2015
|
-
content, {"detail": "You do not have permission to
|
|
2031
|
+
content, {"detail": "You do not have permission to edit this page"}
|
|
2016
2032
|
)
|
|
2017
2033
|
|
|
2018
2034
|
def test_revert_to_page_revision_without_revision_id(self):
|
|
@@ -4,6 +4,7 @@ from django.contrib.auth.models import Permission
|
|
|
4
4
|
from django.core import management
|
|
5
5
|
from django.test import TransactionTestCase
|
|
6
6
|
from django.urls import reverse
|
|
7
|
+
from django.utils.http import urlencode
|
|
7
8
|
|
|
8
9
|
from wagtail.models import Page
|
|
9
10
|
from wagtail.test.testapp.models import EventIndex, SimplePage, SingleEventPage
|
|
@@ -33,10 +34,29 @@ class TestPageSearch(WagtailTestUtils, TransactionTestCase):
|
|
|
33
34
|
self.assertEqual(response.status_code, 200)
|
|
34
35
|
|
|
35
36
|
def test_search(self):
|
|
37
|
+
# Find root page
|
|
38
|
+
root_page = Page.objects.get(id=2)
|
|
39
|
+
|
|
40
|
+
# Create a page
|
|
41
|
+
new_page = root_page.add_child(
|
|
42
|
+
instance=SimplePage(
|
|
43
|
+
title="Hello from Cauldron Lake",
|
|
44
|
+
slug="bright-falls",
|
|
45
|
+
content="It's not a lake, it's an ocean",
|
|
46
|
+
live=True,
|
|
47
|
+
has_unpublished_changes=False,
|
|
48
|
+
)
|
|
49
|
+
)
|
|
50
|
+
|
|
36
51
|
response = self.get({"q": "Hello"})
|
|
37
52
|
self.assertEqual(response.status_code, 200)
|
|
38
53
|
self.assertTemplateUsed(response, "wagtailadmin/pages/search.html")
|
|
39
54
|
self.assertEqual(response.context["query_string"], "Hello")
|
|
55
|
+
next_url = urlencode({"next": reverse("wagtailadmin_pages:search")})
|
|
56
|
+
expected_new_page_copy_url = (
|
|
57
|
+
reverse("wagtailadmin_pages:copy", args=(new_page.pk,)) + f"?{next_url}"
|
|
58
|
+
)
|
|
59
|
+
self.assertContains(response, f'href="{expected_new_page_copy_url}"')
|
|
40
60
|
|
|
41
61
|
def test_search_searchable_fields(self):
|
|
42
62
|
# Find root page
|
|
@@ -62,6 +82,20 @@ class TestPageSearch(WagtailTestUtils, TransactionTestCase):
|
|
|
62
82
|
self.assertContains(response, "There is one matching page")
|
|
63
83
|
|
|
64
84
|
def test_ajax(self):
|
|
85
|
+
# Find root page
|
|
86
|
+
root_page = Page.objects.get(id=2)
|
|
87
|
+
|
|
88
|
+
# Create a page
|
|
89
|
+
new_page = root_page.add_child(
|
|
90
|
+
instance=SimplePage(
|
|
91
|
+
title="Hello from Cauldron Lake",
|
|
92
|
+
slug="bright-falls",
|
|
93
|
+
content="It's not a lake, it's an ocean",
|
|
94
|
+
live=True,
|
|
95
|
+
has_unpublished_changes=False,
|
|
96
|
+
)
|
|
97
|
+
)
|
|
98
|
+
|
|
65
99
|
response = self.get(
|
|
66
100
|
{"q": "Hello"}, url_name="wagtailadmin_pages:search_results"
|
|
67
101
|
)
|
|
@@ -69,6 +103,11 @@ class TestPageSearch(WagtailTestUtils, TransactionTestCase):
|
|
|
69
103
|
self.assertTemplateNotUsed(response, "wagtailadmin/pages/search.html")
|
|
70
104
|
self.assertTemplateUsed(response, "wagtailadmin/pages/search_results.html")
|
|
71
105
|
self.assertEqual(response.context["query_string"], "Hello")
|
|
106
|
+
next_url = urlencode({"next": reverse("wagtailadmin_pages:search")})
|
|
107
|
+
expected_new_page_copy_url = (
|
|
108
|
+
reverse("wagtailadmin_pages:copy", args=(new_page.pk,)) + f"?{next_url}"
|
|
109
|
+
)
|
|
110
|
+
self.assertContains(response, f'href="{expected_new_page_copy_url}"')
|
|
72
111
|
|
|
73
112
|
def test_pagination(self):
|
|
74
113
|
# page numbers in range should be accepted
|
|
@@ -6,7 +6,7 @@ from django.contrib.admin.utils import quote
|
|
|
6
6
|
from django.contrib.auth import get_permission_codename
|
|
7
7
|
from django.contrib.auth.models import Permission
|
|
8
8
|
from django.contrib.contenttypes.models import ContentType
|
|
9
|
-
from django.test import
|
|
9
|
+
from django.test import TestCase
|
|
10
10
|
from django.urls import NoReverseMatch, reverse
|
|
11
11
|
from django.utils.formats import date_format, localize
|
|
12
12
|
from django.utils.html import escape
|
|
@@ -14,6 +14,7 @@ from django.utils.timezone import make_aware
|
|
|
14
14
|
from openpyxl import load_workbook
|
|
15
15
|
|
|
16
16
|
from wagtail.admin.admin_url_finder import AdminURLFinder
|
|
17
|
+
from wagtail.admin.staticfiles import versioned_static
|
|
17
18
|
from wagtail.log_actions import log
|
|
18
19
|
from wagtail.models import ModelLogEntry
|
|
19
20
|
from wagtail.test.testapp.models import (
|
|
@@ -22,7 +23,6 @@ from wagtail.test.testapp.models import (
|
|
|
22
23
|
SearchTestModel,
|
|
23
24
|
VariousOnDeleteModel,
|
|
24
25
|
)
|
|
25
|
-
from wagtail.test.testapp.views import FCToyAlt1ViewSet
|
|
26
26
|
from wagtail.test.utils.template_tests import AdminTemplateTestUtils
|
|
27
27
|
from wagtail.test.utils.wagtail_tests import WagtailTestUtils
|
|
28
28
|
from wagtail.utils.deprecation import RemovedInWagtail70Warning
|
|
@@ -1425,14 +1425,11 @@ class TestCopyView(WagtailTestUtils, TestCase):
|
|
|
1425
1425
|
self.assertRedirects(response, reverse("wagtailadmin_home"))
|
|
1426
1426
|
|
|
1427
1427
|
def test_form_is_prefilled(self):
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
view.kwargs = {"pk": self.object.pk}
|
|
1434
|
-
|
|
1435
|
-
self.assertEqual(view.get_form_kwargs()["instance"], self.object)
|
|
1428
|
+
response = self.client.get(self.url)
|
|
1429
|
+
self.assertEqual(response.status_code, 200)
|
|
1430
|
+
soup = self.get_soup(response.content)
|
|
1431
|
+
name_input = soup.select_one('input[name="name"]')
|
|
1432
|
+
self.assertEqual(name_input.attrs.get("value"), "Test Toy")
|
|
1436
1433
|
|
|
1437
1434
|
|
|
1438
1435
|
class TestEditHandler(WagtailTestUtils, TestCase):
|
|
@@ -1448,6 +1445,10 @@ class TestEditHandler(WagtailTestUtils, TestCase):
|
|
|
1448
1445
|
response = self.client.get(self.url)
|
|
1449
1446
|
self.assertEqual(response.status_code, 200)
|
|
1450
1447
|
self.assertTemplateUsed(response, "wagtailadmin/shared/panel.html")
|
|
1448
|
+
# Many features from the Panels API are powered by client-side JS in
|
|
1449
|
+
# _editor_js.html. We need to make sure that this template is included
|
|
1450
|
+
# in the response for now.
|
|
1451
|
+
self.assertTemplateUsed(response, "wagtailadmin/pages/_editor_js.html", count=1)
|
|
1451
1452
|
|
|
1452
1453
|
soup = self.get_soup(response.content)
|
|
1453
1454
|
|
|
@@ -1464,6 +1465,40 @@ class TestEditHandler(WagtailTestUtils, TestCase):
|
|
|
1464
1465
|
self.assertIsNotNone(rendered_heading)
|
|
1465
1466
|
self.assertEqual(rendered_heading.text.strip(), expected_heading)
|
|
1466
1467
|
|
|
1468
|
+
# Ensure modal-workflow.js is included, as it's needed by choosers
|
|
1469
|
+
modal_workflow_js = versioned_static("wagtailadmin/js/modal-workflow.js")
|
|
1470
|
+
modal_workflow_script = soup.select_one(f'script[src="{modal_workflow_js}"]')
|
|
1471
|
+
self.assertIsNotNone(modal_workflow_script)
|
|
1472
|
+
|
|
1473
|
+
def test_field_permissions(self):
|
|
1474
|
+
self.user.is_superuser = False
|
|
1475
|
+
self.user.save()
|
|
1476
|
+
self.user.user_permissions.add(
|
|
1477
|
+
Permission.objects.get(
|
|
1478
|
+
content_type__app_label="wagtailadmin", codename="access_admin"
|
|
1479
|
+
),
|
|
1480
|
+
Permission.objects.get(
|
|
1481
|
+
content_type__app_label=self.object._meta.app_label,
|
|
1482
|
+
codename=get_permission_codename("change", self.object._meta),
|
|
1483
|
+
),
|
|
1484
|
+
)
|
|
1485
|
+
|
|
1486
|
+
response = self.client.get(self.url)
|
|
1487
|
+
self.assertEqual(response.status_code, 200)
|
|
1488
|
+
self.assertEqual(list(response.context["form"].fields), ["name"])
|
|
1489
|
+
|
|
1490
|
+
self.user.user_permissions.add(
|
|
1491
|
+
Permission.objects.get(
|
|
1492
|
+
codename="can_set_release_date",
|
|
1493
|
+
)
|
|
1494
|
+
)
|
|
1495
|
+
|
|
1496
|
+
response = self.client.get(self.url)
|
|
1497
|
+
self.assertEqual(response.status_code, 200)
|
|
1498
|
+
self.assertEqual(
|
|
1499
|
+
list(response.context["form"].fields), ["name", "release_date"]
|
|
1500
|
+
)
|
|
1501
|
+
|
|
1467
1502
|
|
|
1468
1503
|
class TestDefaultMessages(WagtailTestUtils, TestCase):
|
|
1469
1504
|
def setUp(self):
|
|
@@ -27,6 +27,7 @@ from django.views.generic.edit import (
|
|
|
27
27
|
from wagtail.actions.unpublish import UnpublishAction
|
|
28
28
|
from wagtail.admin import messages
|
|
29
29
|
from wagtail.admin.filters import WagtailFilterSet
|
|
30
|
+
from wagtail.admin.forms.models import WagtailAdminModelForm
|
|
30
31
|
from wagtail.admin.forms.search import SearchForm
|
|
31
32
|
from wagtail.admin.panels import get_edit_handler
|
|
32
33
|
from wagtail.admin.ui.components import Component, MediaContainer
|
|
@@ -334,7 +335,6 @@ class IndexView(
|
|
|
334
335
|
self.add_item_label,
|
|
335
336
|
url=self.add_url,
|
|
336
337
|
icon_name="plus",
|
|
337
|
-
attrs={"data-w-link-reflect-keys-value": '["locale"]'},
|
|
338
338
|
)
|
|
339
339
|
)
|
|
340
340
|
return buttons
|
|
@@ -349,10 +349,6 @@ class IndexView(
|
|
|
349
349
|
url=self.xlsx_export_url,
|
|
350
350
|
icon_name="download",
|
|
351
351
|
priority=90,
|
|
352
|
-
attrs={
|
|
353
|
-
"data-controller": "w-link",
|
|
354
|
-
"data-w-link-preserve-keys-value": '["export"]',
|
|
355
|
-
},
|
|
356
352
|
)
|
|
357
353
|
)
|
|
358
354
|
buttons.append(
|
|
@@ -361,10 +357,6 @@ class IndexView(
|
|
|
361
357
|
url=self.csv_export_url,
|
|
362
358
|
icon_name="download",
|
|
363
359
|
priority=100,
|
|
364
|
-
attrs={
|
|
365
|
-
"data-controller": "w-link",
|
|
366
|
-
"data-w-link-preserve-keys-value": '["export"]',
|
|
367
|
-
},
|
|
368
360
|
)
|
|
369
361
|
)
|
|
370
362
|
|
|
@@ -625,6 +617,24 @@ class CreateView(
|
|
|
625
617
|
for locale in Locale.objects.all().exclude(id=self.locale.id)
|
|
626
618
|
]
|
|
627
619
|
|
|
620
|
+
def get_initial_form_instance(self):
|
|
621
|
+
if self.locale:
|
|
622
|
+
instance = self.model()
|
|
623
|
+
instance.locale = self.locale
|
|
624
|
+
return instance
|
|
625
|
+
|
|
626
|
+
def get_form_kwargs(self):
|
|
627
|
+
if instance := self.get_initial_form_instance():
|
|
628
|
+
# super().get_form_kwargs() will use self.object as the instance kwarg
|
|
629
|
+
self.object = instance
|
|
630
|
+
kwargs = super().get_form_kwargs()
|
|
631
|
+
|
|
632
|
+
form_class = self.get_form_class()
|
|
633
|
+
# Add for_user support for PermissionedForm
|
|
634
|
+
if issubclass(form_class, WagtailAdminModelForm):
|
|
635
|
+
kwargs["for_user"] = self.request.user
|
|
636
|
+
return kwargs
|
|
637
|
+
|
|
628
638
|
def save_instance(self):
|
|
629
639
|
"""
|
|
630
640
|
Called after the form is successfully validated - saves the object to the db
|
|
@@ -668,7 +678,7 @@ class CreateView(
|
|
|
668
678
|
|
|
669
679
|
class CopyView(CreateView):
|
|
670
680
|
def get_object(self, queryset=None):
|
|
671
|
-
return get_object_or_404(self.model, pk=self.kwargs["pk"])
|
|
681
|
+
return get_object_or_404(self.model, pk=unquote(str(self.kwargs["pk"])))
|
|
672
682
|
|
|
673
683
|
def get_form_kwargs(self):
|
|
674
684
|
return {**super().get_form_kwargs(), "instance": self.get_object()}
|
|
@@ -795,6 +805,13 @@ class EditView(
|
|
|
795
805
|
for translation in self.object.get_translations().select_related("locale")
|
|
796
806
|
]
|
|
797
807
|
|
|
808
|
+
def get_form_kwargs(self):
|
|
809
|
+
kwargs = super().get_form_kwargs()
|
|
810
|
+
form_class = self.get_form_class()
|
|
811
|
+
if issubclass(form_class, WagtailAdminModelForm):
|
|
812
|
+
kwargs["for_user"] = self.request.user
|
|
813
|
+
return kwargs
|
|
814
|
+
|
|
798
815
|
def save_instance(self):
|
|
799
816
|
"""
|
|
800
817
|
Called after the form is successfully validated - saves the object to the db.
|
|
@@ -162,6 +162,7 @@ class BaseSearchView(PermissionCheckedMixin, BaseListingView):
|
|
|
162
162
|
def get_table_kwargs(self):
|
|
163
163
|
kwargs = super().get_table_kwargs()
|
|
164
164
|
kwargs["show_locale_labels"] = self.show_locale_labels
|
|
165
|
+
kwargs["actions_next_url"] = self.get_index_url()
|
|
165
166
|
return kwargs
|
|
166
167
|
|
|
167
168
|
def get_context_data(self, **kwargs: Any) -> Dict[str, Any]:
|
wagtail/admin/widgets/button.py
CHANGED
|
@@ -109,9 +109,8 @@ class HeaderButton(Button):
|
|
|
109
109
|
attrs = attrs.copy()
|
|
110
110
|
attrs.update(
|
|
111
111
|
{
|
|
112
|
-
"data-controller": "w-tooltip
|
|
112
|
+
"data-controller": "w-tooltip",
|
|
113
113
|
"data-w-tooltip-content-value": label,
|
|
114
|
-
"data-action": "w-swap:success@document->w-link#setParamsFromSwapRequest",
|
|
115
114
|
"aria-label": label,
|
|
116
115
|
}
|
|
117
116
|
)
|
|
Binary file
|
|
@@ -17,8 +17,8 @@ msgstr ""
|
|
|
17
17
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
18
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
19
|
"Language: he_IL\n"
|
|
20
|
-
"Plural-Forms: nplurals=
|
|
21
|
-
"1 == 0) ? 1:
|
|
20
|
+
"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % "
|
|
21
|
+
"1 == 0) ? 1: 2;\n"
|
|
22
22
|
|
|
23
23
|
msgid "Date from"
|
|
24
24
|
msgstr "מתאריך"
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
# Axel Haustant, 2016
|
|
7
7
|
# Axel Haustant, 2016
|
|
8
8
|
# Bertrand Bordage <bordage.bertrand@gmail.com>, 2015,2017-2018
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# 69c761fa404d2f74d5a7a2904d9e6f47_dc2dbc9 <f37077798760362881f9d396b6e22ec7_1878>, 2018
|
|
10
|
+
# 69c761fa404d2f74d5a7a2904d9e6f47_dc2dbc9 <f37077798760362881f9d396b6e22ec7_1878>, 2018
|
|
11
11
|
# Léo <leo@naeka.fr>, 2016
|
|
12
12
|
# Loic Teixeira, 2020-2022
|
|
13
13
|
# nahuel, 2014
|
|
Binary file
|
|
@@ -20,8 +20,8 @@ msgstr ""
|
|
|
20
20
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
21
21
|
"Content-Transfer-Encoding: 8bit\n"
|
|
22
22
|
"Language: he_IL\n"
|
|
23
|
-
"Plural-Forms: nplurals=
|
|
24
|
-
"1 == 0) ? 1:
|
|
23
|
+
"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % "
|
|
24
|
+
"1 == 0) ? 1: 2;\n"
|
|
25
25
|
|
|
26
26
|
msgid "Type"
|
|
27
27
|
msgstr "סוג"
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
# Translators:
|
|
6
6
|
# Adrien <laadrien@gmail.com>, 2014
|
|
7
7
|
# Bertrand Bordage <bordage.bertrand@gmail.com>, 2015,2018
|
|
8
|
-
#
|
|
9
|
-
#
|
|
8
|
+
# 69c761fa404d2f74d5a7a2904d9e6f47_dc2dbc9 <f37077798760362881f9d396b6e22ec7_1878>, 2018
|
|
9
|
+
# 69c761fa404d2f74d5a7a2904d9e6f47_dc2dbc9 <f37077798760362881f9d396b6e22ec7_1878>, 2018
|
|
10
10
|
# Léo <leo@naeka.fr>, 2016
|
|
11
11
|
# Loic Teixeira, 2020,2022
|
|
12
12
|
# Loic Teixeira, 2020,2022-2023
|
|
Binary file
|
|
@@ -19,8 +19,8 @@ msgstr ""
|
|
|
19
19
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
20
20
|
"Content-Transfer-Encoding: 8bit\n"
|
|
21
21
|
"Language: he_IL\n"
|
|
22
|
-
"Plural-Forms: nplurals=
|
|
23
|
-
"1 == 0) ? 1:
|
|
22
|
+
"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % "
|
|
23
|
+
"1 == 0) ? 1: 2;\n"
|
|
24
24
|
|
|
25
25
|
msgid "Search term(s)/phrase"
|
|
26
26
|
msgstr "חיפוש מושגים/משפט"
|
|
Binary file
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
# This file is distributed under the same license as the PACKAGE package.
|
|
4
4
|
#
|
|
5
5
|
# Translators:
|
|
6
|
-
# Dino Aljević <dino8890@protonmail.com>, 2020,2022-
|
|
6
|
+
# Dino Aljević <dino8890@protonmail.com>, 2020,2022-2024
|
|
7
7
|
msgid ""
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: Wagtail\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
11
|
"POT-Creation-Date: 2024-01-24 13:51+0000\n"
|
|
12
12
|
"PO-Revision-Date: 2015-08-26 14:04+0000\n"
|
|
13
|
-
"Last-Translator: Dino Aljević <dino8890@protonmail.com>, 2020,2022-
|
|
13
|
+
"Last-Translator: Dino Aljević <dino8890@protonmail.com>, 2020,2022-2024\n"
|
|
14
14
|
"Language-Team: Croatian (Croatia) (http://app.transifex.com/torchbox/wagtail/"
|
|
15
15
|
"language/hr_HR/)\n"
|
|
16
16
|
"MIME-Version: 1.0\n"
|
|
@@ -36,15 +36,37 @@ msgstr ""
|
|
|
36
36
|
msgid "Please specify at least one recommendation for this search term."
|
|
37
37
|
msgstr "Molimo navedite barem jednu preporuku za ovaj pojam."
|
|
38
38
|
|
|
39
|
+
msgid "You must enter an external link text if you enter an external link URL."
|
|
40
|
+
msgstr ""
|
|
41
|
+
"Potrebno je unijeti tekst vanjske poveznice ako uneste URL vanjske poveznice."
|
|
42
|
+
|
|
43
|
+
msgid "You must recommend a page OR an external link."
|
|
44
|
+
msgstr "Potrebno je preporučiti stranicu ILI vanjsku poveznicu."
|
|
45
|
+
|
|
46
|
+
msgid "Please only select a page OR enter an external link."
|
|
47
|
+
msgstr "Molimo odaberite samo stranicu ILI vanjsku poveznicu."
|
|
48
|
+
|
|
39
49
|
msgid "Query Daily Hits"
|
|
40
50
|
msgstr "Dnevni pregledi za upit"
|
|
41
51
|
|
|
42
52
|
msgid "page"
|
|
43
53
|
msgstr "stranica"
|
|
44
54
|
|
|
55
|
+
msgid "Choose an internal page for this promotion"
|
|
56
|
+
msgstr "Odaberite unutarnju stranicu za promociju"
|
|
57
|
+
|
|
58
|
+
msgid "External link URL"
|
|
59
|
+
msgstr "URL vanjske poveznice"
|
|
60
|
+
|
|
61
|
+
msgid "Alternatively, use an external link for this promotion"
|
|
62
|
+
msgstr "Ili iskoristite vanjsku poveznicu za promociju"
|
|
63
|
+
|
|
45
64
|
msgid "description"
|
|
46
65
|
msgstr "opis"
|
|
47
66
|
|
|
67
|
+
msgid "Applies to internal page or external link"
|
|
68
|
+
msgstr "Za unutarnju stranicu ili vanjsku poveznicu"
|
|
69
|
+
|
|
48
70
|
msgid "search promotion"
|
|
49
71
|
msgstr "Promocija pretraživanja"
|
|
50
72
|
|
|
@@ -54,6 +76,17 @@ msgstr "Dodaj promociju"
|
|
|
54
76
|
msgid "Add search pick"
|
|
55
77
|
msgstr "Dodaj promovirani rezultat"
|
|
56
78
|
|
|
79
|
+
msgid ""
|
|
80
|
+
"<p>Promoted search results are a means of recommending specific pages or "
|
|
81
|
+
"external links that might not organically come high up in search results. E."
|
|
82
|
+
"g recommending your primary donation page to a user searching with the less "
|
|
83
|
+
"common term \"<em>giving</em>\".</p>"
|
|
84
|
+
msgstr ""
|
|
85
|
+
"<p> Promovirani rezultati pretraživanja su način za preporuku određenih "
|
|
86
|
+
"stranica ili vanjskih poveznica koje se možda neće priordno pojaviti pri "
|
|
87
|
+
"vrhu u rezultatima pretraživanja. Npr. preporuka glavne stranice za donacije "
|
|
88
|
+
"korisniku koji pretražuje manje učestao pojam \"<em>darivanje</em>\".</p>"
|
|
89
|
+
|
|
57
90
|
msgid ""
|
|
58
91
|
"<p>The \"Search term(s)/phrase\" field below must contain the full and exact "
|
|
59
92
|
"search for which you wish to provide recommended results, <em>including</em> "
|
|
@@ -96,9 +129,15 @@ msgstr "Pomakni gore"
|
|
|
96
129
|
msgid "Move down"
|
|
97
130
|
msgstr "Pomakni dolje"
|
|
98
131
|
|
|
132
|
+
msgid "Recommended search result"
|
|
133
|
+
msgstr "Preporučeni rezultat pretraživanja"
|
|
134
|
+
|
|
99
135
|
msgid "Promoted search results"
|
|
100
136
|
msgstr "Promovirani rezultati pretraživanja"
|
|
101
137
|
|
|
138
|
+
msgid "Add a recommended result"
|
|
139
|
+
msgstr "Dodaj preporučeni rezultat"
|
|
140
|
+
|
|
102
141
|
msgid "Search Terms"
|
|
103
142
|
msgstr "Pojmovi za pretraživanje"
|
|
104
143
|
|
|
Binary file
|