wagtail 5.2.1__py3-none-any.whl → 5.2.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/ar/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/be/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/be/LC_MESSAGES/django.po +32 -7
- wagtail/admin/locale/be/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/be/LC_MESSAGES/djangojs.po +9 -3
- wagtail/admin/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/ca/LC_MESSAGES/django.po +48 -49
- wagtail/admin/locale/cs/LC_MESSAGES/django.po +8 -10
- wagtail/admin/locale/de/LC_MESSAGES/django.po +47 -49
- wagtail/admin/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/es/LC_MESSAGES/django.po +38 -39
- wagtail/admin/locale/es_419/LC_MESSAGES/django.po +8 -8
- wagtail/admin/locale/et/LC_MESSAGES/django.po +12 -14
- wagtail/admin/locale/fa/LC_MESSAGES/django.po +18 -18
- wagtail/admin/locale/fi/LC_MESSAGES/django.po +18 -18
- wagtail/admin/locale/fr/LC_MESSAGES/django.po +42 -44
- wagtail/admin/locale/gl/LC_MESSAGES/django.po +52 -53
- wagtail/admin/locale/hi/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/hi/LC_MESSAGES/djangojs.po +14 -0
- wagtail/admin/locale/hr_HR/LC_MESSAGES/django.po +12 -13
- wagtail/admin/locale/hr_HR/LC_MESSAGES/djangojs.po +2 -2
- wagtail/admin/locale/hu/LC_MESSAGES/django.po +42 -45
- wagtail/admin/locale/id_ID/LC_MESSAGES/django.po +6 -6
- wagtail/admin/locale/is_IS/LC_MESSAGES/django.po +49 -51
- wagtail/admin/locale/it/LC_MESSAGES/django.po +31 -32
- wagtail/admin/locale/ja/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/ko/LC_MESSAGES/django.po +17 -18
- wagtail/admin/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/nb/LC_MESSAGES/django.po +488 -9
- wagtail/admin/locale/nb/LC_MESSAGES/djangojs.mo +0 -0
- wagtail/admin/locale/nb/LC_MESSAGES/djangojs.po +15 -1
- wagtail/admin/locale/nl/LC_MESSAGES/django.po +41 -44
- wagtail/admin/locale/pl/LC_MESSAGES/django.po +47 -49
- wagtail/admin/locale/pl/LC_MESSAGES/djangojs.po +3 -3
- wagtail/admin/locale/pt_BR/LC_MESSAGES/django.po +15 -16
- wagtail/admin/locale/pt_PT/LC_MESSAGES/django.po +20 -21
- wagtail/admin/locale/ro/LC_MESSAGES/django.po +50 -51
- wagtail/admin/locale/ru/LC_MESSAGES/django.po +57 -58
- wagtail/admin/locale/ru/LC_MESSAGES/djangojs.po +3 -3
- wagtail/admin/locale/sk_SK/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/sl/LC_MESSAGES/django.po +37 -38
- wagtail/admin/locale/sl/LC_MESSAGES/djangojs.po +2 -2
- wagtail/admin/locale/sv/LC_MESSAGES/django.po +41 -43
- wagtail/admin/locale/tet/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/th/LC_MESSAGES/django.po +2 -2
- wagtail/admin/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/admin/locale/uk/LC_MESSAGES/django.mo +0 -0
- wagtail/admin/locale/uk/LC_MESSAGES/django.po +23 -11
- wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.po +4 -5
- wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
- wagtail/admin/mail.py +11 -10
- wagtail/admin/static/wagtailadmin/css/panels/draftail.css +1 -1
- wagtail/admin/tests/test_reports_views.py +42 -0
- wagtail/admin/tests/test_workflows.py +143 -0
- wagtail/admin/views/home.py +13 -0
- wagtail/admin/views/reports/aging_pages.py +2 -0
- wagtail/contrib/forms/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/forms/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/forms/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/forms/locale/pt_BR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/forms/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/forms/panels.py +5 -1
- wagtail/contrib/forms/tests/test_views.py +106 -0
- wagtail/contrib/modeladmin/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/modeladmin/locale/hi/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/modeladmin/locale/hi/LC_MESSAGES/django.po +6 -0
- wagtail/contrib/modeladmin/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/modeladmin/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/modeladmin/locale/nb/LC_MESSAGES/django.po +3 -0
- wagtail/contrib/modeladmin/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/modeladmin/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/modeladmin/locale/pt_BR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/modeladmin/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/modeladmin/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/modeladmin/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/redirects/locale/bg/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ca/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/cs/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/cy/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/de/LC_MESSAGES/django.po +4 -5
- wagtail/contrib/redirects/locale/el/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/redirects/locale/es/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/et/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/fi/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/fr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/gl/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/hi/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/hi/LC_MESSAGES/django.po +6 -0
- wagtail/contrib/redirects/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/redirects/locale/hu/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/is_IS/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ja/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/ko/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/mn/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/redirects/locale/nb/LC_MESSAGES/django.po +106 -5
- wagtail/contrib/redirects/locale/nl/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po +5 -5
- wagtail/contrib/redirects/locale/pt_PT/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ro/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/ru/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/redirects/locale/sk_SK/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/sl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/redirects/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/uk/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/zh/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/be/LC_MESSAGES/django.po +7 -7
- wagtail/contrib/search_promotions/locale/ca/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/ca/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/search_promotions/locale/cs/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/cy/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/de/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/es/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/et/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/fa/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/fi/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/gl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/hi/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/hi/LC_MESSAGES/django.po +3 -0
- wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/search_promotions/locale/hu/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/ja/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ko/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/lt/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/search_promotions/locale/nb/LC_MESSAGES/django.po +10 -4
- wagtail/contrib/search_promotions/locale/nl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/pl/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/search_promotions/locale/pt_BR/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/pt_PT/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ro/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/ru/LC_MESSAGES/django.po +9 -9
- wagtail/contrib/search_promotions/locale/sk_SK/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.po +6 -6
- wagtail/contrib/search_promotions/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/uk/LC_MESSAGES/django.po +4 -4
- wagtail/contrib/search_promotions/locale/zh_Hans/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/search_promotions/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/locale/hi/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/hi/LC_MESSAGES/django.po +27 -2
- wagtail/contrib/settings/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/nb/LC_MESSAGES/django.po +13 -2
- wagtail/contrib/settings/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/settings/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/settings/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/settings/locale/uk/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/settings/locale/uk/LC_MESSAGES/django.po +10 -2
- wagtail/contrib/simple_translation/locale/be/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/simple_translation/locale/be/LC_MESSAGES/django.po +30 -3
- wagtail/contrib/simple_translation/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/simple_translation/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/simple_translation/locale/nb/LC_MESSAGES/django.po +26 -0
- wagtail/contrib/simple_translation/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/simple_translation/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/contrib/simple_translation/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/simple_translation/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/styleguide/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/styleguide/locale/hi/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/styleguide/locale/hi/LC_MESSAGES/django.po +22 -0
- wagtail/contrib/styleguide/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/styleguide/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/styleguide/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/styleguide/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/table_block/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/table_block/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/table_block/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/table_block/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/typed_table_block/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/ar/LC_MESSAGES/django.po +44 -0
- wagtail/contrib/typed_table_block/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/typed_table_block/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/typed_table_block/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/contrib/typed_table_block/locale/pt_BR/LC_MESSAGES/django.po +2 -2
- wagtail/contrib/typed_table_block/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/contrib/typed_table_block/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/documents/locale/ar/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/ar/LC_MESSAGES/django.po +11 -10
- wagtail/documents/locale/be/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/be/LC_MESSAGES/django.po +17 -11
- wagtail/documents/locale/bg/LC_MESSAGES/django.po +4 -4
- wagtail/documents/locale/ca/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/cs/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/de/LC_MESSAGES/django.po +8 -10
- wagtail/documents/locale/el/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/es/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/et/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/fa/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/fi/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/fr/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/gl/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/hi/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/hi/LC_MESSAGES/django.po +3 -0
- wagtail/documents/locale/hr_HR/LC_MESSAGES/django.po +14 -14
- wagtail/documents/locale/hu/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/id_ID/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/it/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ja/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ko/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/lt/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/mi/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/mn/LC_MESSAGES/django.po +4 -5
- wagtail/documents/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/documents/locale/nb/LC_MESSAGES/django.po +158 -7
- wagtail/documents/locale/nl/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/pl/LC_MESSAGES/django.po +11 -11
- wagtail/documents/locale/pt_BR/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/pt_PT/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ro/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/ru/LC_MESSAGES/django.po +9 -9
- wagtail/documents/locale/sk_SK/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/sl/LC_MESSAGES/django.po +10 -10
- wagtail/documents/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/documents/locale/sv/LC_MESSAGES/django.po +6 -6
- wagtail/documents/locale/th/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/tr/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/tr_TR/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/uk/LC_MESSAGES/django.po +8 -8
- wagtail/documents/locale/zh/LC_MESSAGES/django.po +2 -2
- wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
- wagtail/documents/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/embeds/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/embeds/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/embeds/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/embeds/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/embeds/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/images/locale/ar/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/be/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/be/LC_MESSAGES/django.po +24 -3
- wagtail/images/locale/ca/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/cs/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/cy/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/de/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/el/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/es/LC_MESSAGES/django.po +10 -10
- wagtail/images/locale/et/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/fa/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/fi/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/fr/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/gl/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/hi/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/hi/LC_MESSAGES/django.po +25 -0
- wagtail/images/locale/hr_HR/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/hu/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/id_ID/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/is_IS/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/it/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ja/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ko/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/lt/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/nb/LC_MESSAGES/django.po +241 -9
- wagtail/images/locale/nl/LC_MESSAGES/django.po +10 -10
- wagtail/images/locale/pl/LC_MESSAGES/django.po +11 -11
- wagtail/images/locale/pt_BR/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/pt_PT/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ro/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/ru/LC_MESSAGES/django.po +11 -11
- wagtail/images/locale/sk_SK/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/sl/LC_MESSAGES/django.mo +0 -0
- wagtail/images/locale/sl/LC_MESSAGES/django.po +46 -10
- wagtail/images/locale/sv/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/th/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/tr/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/tr_TR/LC_MESSAGES/django.po +6 -6
- wagtail/images/locale/uk/LC_MESSAGES/django.po +8 -8
- wagtail/images/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
- wagtail/images/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/images/static/wagtailimages/js/focal-point-chooser.js +1 -1
- wagtail/locale/be/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/be/LC_MESSAGES/django.po +11 -4
- wagtail/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/nb/LC_MESSAGES/django.po +3 -0
- wagtail/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/locale/pt_BR/LC_MESSAGES/django.po +1 -1
- wagtail/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/locale/uk/LC_MESSAGES/django.mo +0 -0
- wagtail/locale/uk/LC_MESSAGES/django.po +13 -0
- wagtail/locales/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/locales/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/locales/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/project_template/requirements.txt +1 -1
- wagtail/query.py +1 -1
- wagtail/search/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/search/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/search/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/nb/LC_MESSAGES/django.po +8 -1
- wagtail/search/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/search/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/search/locale/pt_BR/LC_MESSAGES/django.po +2 -2
- wagtail/search/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/search/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/sites/locale/be/LC_MESSAGES/django.po +3 -3
- wagtail/sites/locale/hi/LC_MESSAGES/django.mo +0 -0
- wagtail/sites/locale/hi/LC_MESSAGES/django.po +22 -0
- wagtail/sites/locale/hr_HR/LC_MESSAGES/django.po +2 -2
- wagtail/sites/locale/pl/LC_MESSAGES/django.po +3 -3
- wagtail/sites/locale/ru/LC_MESSAGES/django.po +3 -3
- wagtail/sites/locale/sl/LC_MESSAGES/django.po +2 -2
- wagtail/sites/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/snippets/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/be/LC_MESSAGES/django.po +7 -7
- wagtail/snippets/locale/bg/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/ca/LC_MESSAGES/django.po +10 -10
- wagtail/snippets/locale/cs/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/cy/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/de/LC_MESSAGES/django.po +7 -7
- wagtail/snippets/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/es/LC_MESSAGES/django.po +10 -10
- wagtail/snippets/locale/et/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/fa/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/fi/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/fr/LC_MESSAGES/django.po +9 -9
- wagtail/snippets/locale/gl/LC_MESSAGES/django.po +10 -10
- wagtail/snippets/locale/hi/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/hi/LC_MESSAGES/django.po +25 -0
- wagtail/snippets/locale/hr_HR/LC_MESSAGES/django.po +12 -12
- wagtail/snippets/locale/hu/LC_MESSAGES/django.po +9 -9
- wagtail/snippets/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/is_IS/LC_MESSAGES/django.po +7 -7
- wagtail/snippets/locale/it/LC_MESSAGES/django.po +9 -9
- wagtail/snippets/locale/ja/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/ko/LC_MESSAGES/django.po +10 -10
- wagtail/snippets/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/mi/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/mn/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/nb/LC_MESSAGES/django.po +105 -5
- wagtail/snippets/locale/nl/LC_MESSAGES/django.po +12 -12
- wagtail/snippets/locale/pl/LC_MESSAGES/django.po +13 -13
- wagtail/snippets/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- wagtail/snippets/locale/pt_BR/LC_MESSAGES/django.po +6 -6
- wagtail/snippets/locale/pt_PT/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/ro/LC_MESSAGES/django.po +10 -10
- wagtail/snippets/locale/ru/LC_MESSAGES/django.po +12 -12
- wagtail/snippets/locale/sk_SK/LC_MESSAGES/django.po +2 -2
- wagtail/snippets/locale/sl/LC_MESSAGES/django.po +12 -12
- wagtail/snippets/locale/sr/LC_MESSAGES/django.po +2 -2
- wagtail/snippets/locale/sv/LC_MESSAGES/django.po +10 -10
- wagtail/snippets/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/uk/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/zh/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
- wagtail/snippets/templates/wagtailsnippets/snippets/index.html +1 -1
- wagtail/snippets/tests/test_viewset.py +26 -10
- wagtail/test/testapp/models.py +18 -0
- wagtail/tests/test_page_queryset.py +19 -0
- wagtail/tests/test_revision_model.py +23 -0
- wagtail/tests/test_workflow.py +20 -0
- wagtail/users/locale/ar/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/be/LC_MESSAGES/django.po +13 -13
- wagtail/users/locale/ca/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/cs/LC_MESSAGES/django.po +10 -10
- wagtail/users/locale/cy/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/de/LC_MESSAGES/django.po +10 -10
- wagtail/users/locale/el/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/es/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/et/LC_MESSAGES/django.po +10 -10
- wagtail/users/locale/fa/LC_MESSAGES/django.po +6 -6
- wagtail/users/locale/fi/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/fr/LC_MESSAGES/django.po +10 -10
- wagtail/users/locale/gl/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/hr_HR/LC_MESSAGES/django.po +16 -16
- wagtail/users/locale/hu/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/id_ID/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/is_IS/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/it/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/ja/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/ko/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/lt/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/lv/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/mn/LC_MESSAGES/django.po +8 -9
- wagtail/users/locale/nb/LC_MESSAGES/django.mo +0 -0
- wagtail/users/locale/nb/LC_MESSAGES/django.po +186 -5
- wagtail/users/locale/nl/LC_MESSAGES/django.po +10 -10
- wagtail/users/locale/pl/LC_MESSAGES/django.po +13 -13
- wagtail/users/locale/pt_BR/LC_MESSAGES/django.po +13 -13
- wagtail/users/locale/pt_PT/LC_MESSAGES/django.po +10 -10
- wagtail/users/locale/ro/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/ru/LC_MESSAGES/django.po +17 -17
- wagtail/users/locale/sk_SK/LC_MESSAGES/django.po +6 -6
- wagtail/users/locale/sl/LC_MESSAGES/django.po +14 -14
- wagtail/users/locale/sv/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/tet/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/th/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/tr/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/tr_TR/LC_MESSAGES/django.po +4 -4
- wagtail/users/locale/uk/LC_MESSAGES/django.po +12 -12
- wagtail/users/locale/zh_Hans/LC_MESSAGES/django.po +6 -6
- wagtail/users/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
- {wagtail-5.2.1.dist-info → wagtail-5.2.3.dist-info}/METADATA +4 -3
- {wagtail-5.2.1.dist-info → wagtail-5.2.3.dist-info}/RECORD +439 -425
- {wagtail-5.2.1.dist-info → wagtail-5.2.3.dist-info}/LICENSE +0 -0
- {wagtail-5.2.1.dist-info → wagtail-5.2.3.dist-info}/WHEEL +0 -0
- {wagtail-5.2.1.dist-info → wagtail-5.2.3.dist-info}/entry_points.txt +0 -0
- {wagtail-5.2.1.dist-info → wagtail-5.2.3.dist-info}/top_level.txt +0 -0
|
@@ -15,6 +15,11 @@ from freezegun import freeze_time
|
|
|
15
15
|
from openpyxl import load_workbook
|
|
16
16
|
|
|
17
17
|
from wagtail.admin.admin_url_finder import AdminURLFinder
|
|
18
|
+
from wagtail.admin.mail import (
|
|
19
|
+
BaseWorkflowStateEmailNotifier,
|
|
20
|
+
WorkflowStateApprovalEmailNotifier,
|
|
21
|
+
WorkflowStateRejectionEmailNotifier,
|
|
22
|
+
)
|
|
18
23
|
from wagtail.admin.utils import (
|
|
19
24
|
get_admin_base_url,
|
|
20
25
|
get_latest_str,
|
|
@@ -3596,6 +3601,144 @@ class TestDashboardWithPages(BasePageWorkflowTests):
|
|
|
3596
3601
|
"Compare with previous version",
|
|
3597
3602
|
)
|
|
3598
3603
|
|
|
3604
|
+
def test_dashboard_after_deleting_object_in_moderation(self):
|
|
3605
|
+
# WorkflowState's content_object may point to a nonexistent object
|
|
3606
|
+
# https://github.com/wagtail/wagtail/issues/11300
|
|
3607
|
+
self.login(self.submitter)
|
|
3608
|
+
self.post("submit")
|
|
3609
|
+
self.object.delete()
|
|
3610
|
+
|
|
3611
|
+
response = self.client.get(reverse("wagtailadmin_home"))
|
|
3612
|
+
self.assertEqual(response.status_code, 200)
|
|
3613
|
+
self.assertNotContains(response, "Your pages and snippets in a workflow")
|
|
3614
|
+
|
|
3615
|
+
self.login(self.moderator)
|
|
3616
|
+
response = self.client.get(reverse("wagtailadmin_home"))
|
|
3617
|
+
self.assertEqual(response.status_code, 200)
|
|
3618
|
+
self.assertNotContains(response, "Awaiting your review")
|
|
3619
|
+
|
|
3599
3620
|
|
|
3600
3621
|
class TestDashboardWithSnippets(TestDashboardWithPages, BaseSnippetWorkflowTests):
|
|
3601
3622
|
pass
|
|
3623
|
+
|
|
3624
|
+
|
|
3625
|
+
class TestDashboardWithNonLockableSnippets(TestDashboardWithSnippets):
|
|
3626
|
+
# This model does not use LockableMixin, and it also does not have a
|
|
3627
|
+
# GenericRelation to WorkflowState and Revision, but it should not break
|
|
3628
|
+
# the dashboard.
|
|
3629
|
+
# See https://github.com/wagtail/wagtail/issues/11300 for more details.
|
|
3630
|
+
model = ModeratedModel
|
|
3631
|
+
|
|
3632
|
+
|
|
3633
|
+
class TestWorkflowStateEmailNotifier(BasePageWorkflowTests):
|
|
3634
|
+
def setUp(self):
|
|
3635
|
+
super().setUp()
|
|
3636
|
+
# Ensure a revision exists
|
|
3637
|
+
self.object.save_revision()
|
|
3638
|
+
|
|
3639
|
+
def test_workflowstate_email_notifier_get_recipient_users__without_triggering_user(
|
|
3640
|
+
self,
|
|
3641
|
+
):
|
|
3642
|
+
self.workflow.start(self.object, user=self.submitter)
|
|
3643
|
+
workflow_state = self.object.current_workflow_state
|
|
3644
|
+
|
|
3645
|
+
for notifier in [
|
|
3646
|
+
WorkflowStateApprovalEmailNotifier(),
|
|
3647
|
+
WorkflowStateRejectionEmailNotifier(),
|
|
3648
|
+
]:
|
|
3649
|
+
with self.subTest(f"Testing with {notifier}"):
|
|
3650
|
+
self.assertSetEqual(
|
|
3651
|
+
notifier.get_recipient_users(workflow_state), {self.submitter}
|
|
3652
|
+
)
|
|
3653
|
+
|
|
3654
|
+
def test_workflowstate_email_notifier_get_recipient_users__with_trigerring_user(
|
|
3655
|
+
self,
|
|
3656
|
+
):
|
|
3657
|
+
self.workflow.start(self.object, user=self.submitter)
|
|
3658
|
+
workflow_state = self.object.current_workflow_state
|
|
3659
|
+
|
|
3660
|
+
for notifier in [
|
|
3661
|
+
WorkflowStateApprovalEmailNotifier(),
|
|
3662
|
+
WorkflowStateRejectionEmailNotifier(),
|
|
3663
|
+
]:
|
|
3664
|
+
with self.subTest(f"Testing with {notifier}"):
|
|
3665
|
+
self.assertSetEqual(
|
|
3666
|
+
notifier.get_recipient_users(workflow_state, user=self.moderator),
|
|
3667
|
+
{self.submitter},
|
|
3668
|
+
)
|
|
3669
|
+
|
|
3670
|
+
def test_workflowstate_email_notifier_get_recipient_users__without_requested_by(
|
|
3671
|
+
self,
|
|
3672
|
+
):
|
|
3673
|
+
self.workflow.start(self.object, user=self.submitter)
|
|
3674
|
+
workflow_state: WorkflowState = self.object.current_workflow_state
|
|
3675
|
+
workflow_state.requested_by = None
|
|
3676
|
+
workflow_state.save(update_fields=["requested_by"])
|
|
3677
|
+
|
|
3678
|
+
for notifier in [
|
|
3679
|
+
WorkflowStateApprovalEmailNotifier(),
|
|
3680
|
+
WorkflowStateRejectionEmailNotifier(),
|
|
3681
|
+
]:
|
|
3682
|
+
with self.subTest(f"Testing with {notifier}"):
|
|
3683
|
+
self.assertSetEqual(notifier.get_recipient_users(workflow_state), set())
|
|
3684
|
+
self.assertSetEqual(
|
|
3685
|
+
notifier.get_recipient_users(workflow_state, user=self.moderator),
|
|
3686
|
+
set(),
|
|
3687
|
+
)
|
|
3688
|
+
|
|
3689
|
+
def test_workflowstate_email_notifier_get_recipient_users__with_same_requested_by_and_triggering_user(
|
|
3690
|
+
self,
|
|
3691
|
+
):
|
|
3692
|
+
self.workflow.start(self.object, user=self.submitter)
|
|
3693
|
+
workflow_state: WorkflowState = self.object.current_workflow_state
|
|
3694
|
+
workflow_state.requested_by = None
|
|
3695
|
+
workflow_state.save(update_fields=["requested_by"])
|
|
3696
|
+
|
|
3697
|
+
for notifier in [
|
|
3698
|
+
WorkflowStateApprovalEmailNotifier(),
|
|
3699
|
+
WorkflowStateRejectionEmailNotifier(),
|
|
3700
|
+
]:
|
|
3701
|
+
with self.subTest(f"Testing with {notifier}"):
|
|
3702
|
+
self.assertSetEqual(notifier.get_recipient_users(workflow_state), set())
|
|
3703
|
+
self.assertSetEqual(
|
|
3704
|
+
notifier.get_recipient_users(workflow_state, user=self.submitter),
|
|
3705
|
+
set(),
|
|
3706
|
+
)
|
|
3707
|
+
|
|
3708
|
+
@mock.patch("wagtail.admin.mail.BaseWorkflowStateEmailNotifier.get_recipient_users")
|
|
3709
|
+
def test_base_workflowstate_email_notifier_get_valid_recipients(
|
|
3710
|
+
self, mock_get_recipient_users
|
|
3711
|
+
):
|
|
3712
|
+
notifier = BaseWorkflowStateEmailNotifier()
|
|
3713
|
+
|
|
3714
|
+
# check with an empty set
|
|
3715
|
+
mock_get_recipient_users.return_value = set()
|
|
3716
|
+
self.assertSetEqual(notifier.get_valid_recipients(self.object), set())
|
|
3717
|
+
|
|
3718
|
+
# check None values are filtered out
|
|
3719
|
+
mock_get_recipient_users.return_value = {None}
|
|
3720
|
+
self.assertSetEqual(notifier.get_valid_recipients(self.object), set())
|
|
3721
|
+
|
|
3722
|
+
# check with a valid user
|
|
3723
|
+
mock_get_recipient_users.return_value = {self.submitter}
|
|
3724
|
+
notifications = ["approved", "rejected", "submitted"]
|
|
3725
|
+
for notification in notifications:
|
|
3726
|
+
with self.subTest(f"Testing with {notification}_notifications"):
|
|
3727
|
+
notifier.notification = notification
|
|
3728
|
+
self.assertSetEqual(
|
|
3729
|
+
notifier.get_valid_recipients(self.object), {self.submitter}
|
|
3730
|
+
)
|
|
3731
|
+
|
|
3732
|
+
# remove notifications and re-test
|
|
3733
|
+
userprofile = UserProfile.get_for_user(self.submitter)
|
|
3734
|
+
updated_fields = []
|
|
3735
|
+
for notification in notifications:
|
|
3736
|
+
attribute = f"{notification}_notifications"
|
|
3737
|
+
setattr(userprofile, attribute, False)
|
|
3738
|
+
updated_fields.append(attribute)
|
|
3739
|
+
userprofile.save(update_fields=updated_fields)
|
|
3740
|
+
|
|
3741
|
+
for notification in notifications:
|
|
3742
|
+
with self.subTest(f"Testing with {notification}_notifications"):
|
|
3743
|
+
notifier.notification = notification
|
|
3744
|
+
self.assertSetEqual(notifier.get_valid_recipients(self.object), set())
|
wagtail/admin/views/home.py
CHANGED
|
@@ -161,6 +161,12 @@ class UserObjectsInWorkflowModerationPanel(Component):
|
|
|
161
161
|
)
|
|
162
162
|
.order_by("-current_task_state__started_at")
|
|
163
163
|
)
|
|
164
|
+
# Filter out workflow states where the GenericForeignKey points to
|
|
165
|
+
# a nonexistent object. This can happen if the model does not define
|
|
166
|
+
# a GenericRelation to WorkflowState and the instance is deleted.
|
|
167
|
+
context["workflow_states"] = [
|
|
168
|
+
state for state in context["workflow_states"] if state.content_object
|
|
169
|
+
]
|
|
164
170
|
else:
|
|
165
171
|
context["workflow_states"] = WorkflowState.objects.none()
|
|
166
172
|
context["request"] = request
|
|
@@ -188,6 +194,7 @@ class WorkflowObjectsToModeratePanel(Component):
|
|
|
188
194
|
"revision",
|
|
189
195
|
"task",
|
|
190
196
|
"revision__user",
|
|
197
|
+
"workflow_state",
|
|
191
198
|
)
|
|
192
199
|
.prefetch_related(
|
|
193
200
|
"revision__content_object",
|
|
@@ -198,6 +205,12 @@ class WorkflowObjectsToModeratePanel(Component):
|
|
|
198
205
|
)
|
|
199
206
|
for state in states:
|
|
200
207
|
obj = state.revision.content_object
|
|
208
|
+
# Skip task states where the revision's GenericForeignKey points to
|
|
209
|
+
# a nonexistent object. This can happen if the model does not define
|
|
210
|
+
# a GenericRelation to WorkflowState and/or Revision and the instance
|
|
211
|
+
# is deleted.
|
|
212
|
+
if not obj:
|
|
213
|
+
continue
|
|
201
214
|
actions = state.task.specific.get_actions(obj, request.user)
|
|
202
215
|
workflow_tasks = state.workflow_state.all_tasks_with_status()
|
|
203
216
|
|
|
@@ -82,6 +82,8 @@ class AgingPagesView(PageReportView):
|
|
|
82
82
|
user_id_value, get_deleted_user_display_name(user_id=user_id_value)
|
|
83
83
|
)
|
|
84
84
|
page.last_published_by_user = last_published_by_user
|
|
85
|
+
else:
|
|
86
|
+
page.last_published_by_user = ""
|
|
85
87
|
|
|
86
88
|
def decorate_paginated_queryset(self, queryset):
|
|
87
89
|
user_ids = set(queryset.values_list("last_published_by", flat=True))
|
|
@@ -17,9 +17,9 @@ msgstr ""
|
|
|
17
17
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
18
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
19
|
"Language: be\n"
|
|
20
|
-
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
21
|
-
"
|
|
22
|
-
"
|
|
20
|
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
|
21
|
+
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
|
|
22
|
+
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
23
23
|
|
|
24
24
|
msgid "Wagtail forms"
|
|
25
25
|
msgstr "Формы Wagtail"
|
|
@@ -18,8 +18,8 @@ msgstr ""
|
|
|
18
18
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
19
19
|
"Content-Transfer-Encoding: 8bit\n"
|
|
20
20
|
"Language: hr_HR\n"
|
|
21
|
-
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
22
|
-
"
|
|
21
|
+
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
|
22
|
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
|
23
23
|
|
|
24
24
|
msgid "Wagtail forms"
|
|
25
25
|
msgstr "Wagtail formulari"
|
|
@@ -19,9 +19,9 @@ msgstr ""
|
|
|
19
19
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
20
20
|
"Content-Transfer-Encoding: 8bit\n"
|
|
21
21
|
"Language: pl\n"
|
|
22
|
-
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && "
|
|
23
|
-
"
|
|
24
|
-
"
|
|
22
|
+
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
|
|
23
|
+
"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
|
|
24
|
+
"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
|
25
25
|
|
|
26
26
|
msgid "Wagtail forms"
|
|
27
27
|
msgstr "Formularze Wagtail"
|
|
Binary file
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
# Guilherme Nabanete <neoheartz@gmail.com>, 2016
|
|
11
11
|
# Luiz Boaretto <lboaretto@gmail.com>, 2016
|
|
12
12
|
# Luiz Boaretto <lboaretto@gmail.com>, 2016-2020
|
|
13
|
-
# Rodrigo de Almeida Sottomaior Macedo <
|
|
13
|
+
# Rodrigo de Almeida Sottomaior Macedo <sottomaiormacedotec@gmail.com>, 2022
|
|
14
14
|
msgid ""
|
|
15
15
|
msgstr ""
|
|
16
16
|
"Project-Id-Version: Wagtail\n"
|
|
@@ -18,7 +18,7 @@ msgstr ""
|
|
|
18
18
|
"POT-Creation-Date: 2023-10-19 23:14+0100\n"
|
|
19
19
|
"PO-Revision-Date: 2014-09-11 15:42+0000\n"
|
|
20
20
|
"Last-Translator: Rodrigo de Almeida Sottomaior Macedo "
|
|
21
|
-
"<
|
|
21
|
+
"<sottomaiormacedotec@gmail.com>, 2022\n"
|
|
22
22
|
"Language-Team: Portuguese (Brazil) (http://app.transifex.com/torchbox/"
|
|
23
23
|
"wagtail/language/pt_BR/)\n"
|
|
24
24
|
"MIME-Version: 1.0\n"
|
|
@@ -27,9 +27,9 @@ msgstr ""
|
|
|
27
27
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
28
28
|
"Content-Transfer-Encoding: 8bit\n"
|
|
29
29
|
"Language: ru\n"
|
|
30
|
-
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
31
|
-
"
|
|
32
|
-
"
|
|
30
|
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
|
31
|
+
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
|
|
32
|
+
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
33
33
|
|
|
34
34
|
msgid "Wagtail forms"
|
|
35
35
|
msgstr "Формы Wagtail"
|
|
@@ -21,8 +21,8 @@ msgstr ""
|
|
|
21
21
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
22
22
|
"Content-Transfer-Encoding: 8bit\n"
|
|
23
23
|
"Language: sl\n"
|
|
24
|
-
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
|
|
25
|
-
"
|
|
24
|
+
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
|
25
|
+
"%100==4 ? 2 : 3);\n"
|
|
26
26
|
|
|
27
27
|
msgid "Wagtail forms"
|
|
28
28
|
msgstr "Obrazci Wagtail"
|
wagtail/contrib/forms/panels.py
CHANGED
|
@@ -18,7 +18,11 @@ class FormSubmissionsPanel(Panel):
|
|
|
18
18
|
def submissions(self):
|
|
19
19
|
form_page_model = self.panel.model
|
|
20
20
|
form_submissions_model = form_page_model().get_submission_class()
|
|
21
|
-
|
|
21
|
+
if self.instance.pk:
|
|
22
|
+
return form_submissions_model.objects.filter(page=self.instance)
|
|
23
|
+
else:
|
|
24
|
+
# Page has not been created yet, so there can't be any submissions
|
|
25
|
+
return form_submissions_model.objects.none()
|
|
22
26
|
|
|
23
27
|
@cached_property
|
|
24
28
|
def submission_count(self):
|
|
@@ -76,6 +76,30 @@ class TestFormResponsesPanel(TestCase):
|
|
|
76
76
|
self.assertFalse(self.panel.is_shown())
|
|
77
77
|
|
|
78
78
|
|
|
79
|
+
class TestFormResponsesPanelWithNewPage(TestCase):
|
|
80
|
+
def setUp(self):
|
|
81
|
+
self.request = RequestFactory().get("/")
|
|
82
|
+
user = AnonymousUser() # technically, Anonymous users cannot access the admin
|
|
83
|
+
self.request.user = user
|
|
84
|
+
|
|
85
|
+
self.form_page = FormPage()
|
|
86
|
+
|
|
87
|
+
self.FormPageForm = get_form_for_model(
|
|
88
|
+
FormPage,
|
|
89
|
+
form_class=WagtailAdminPageForm,
|
|
90
|
+
fields=["title", "slug", "to_address", "from_address", "subject"],
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
panel = FormSubmissionsPanel().bind_to_model(FormPage)
|
|
94
|
+
self.panel = panel.get_bound_panel(
|
|
95
|
+
instance=self.form_page, form=self.FormPageForm(), request=self.request
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
def test_render_without_submissions(self):
|
|
99
|
+
"""The panel should not be shown if the number of submission is zero."""
|
|
100
|
+
self.assertFalse(self.panel.is_shown())
|
|
101
|
+
|
|
102
|
+
|
|
79
103
|
class TestFormResponsesPanelWithCustomSubmissionClass(WagtailTestUtils, TestCase):
|
|
80
104
|
def setUp(self):
|
|
81
105
|
self.request = RequestFactory().get("/")
|
|
@@ -1824,3 +1848,85 @@ class TestPreview(WagtailTestUtils, TestCase):
|
|
|
1824
1848
|
response = self.client.get(preview_url + params)
|
|
1825
1849
|
self.assertEqual(response.status_code, 200)
|
|
1826
1850
|
self.assertTemplateUsed(response, template)
|
|
1851
|
+
|
|
1852
|
+
|
|
1853
|
+
class TestFormPageCreate(WagtailTestUtils, TestCase):
|
|
1854
|
+
def setUp(self):
|
|
1855
|
+
# Find root page
|
|
1856
|
+
self.root_page = Page.objects.get(id=2)
|
|
1857
|
+
|
|
1858
|
+
# Login
|
|
1859
|
+
self.user = self.login()
|
|
1860
|
+
|
|
1861
|
+
def test_get_creation_form(self):
|
|
1862
|
+
response = self.client.get(
|
|
1863
|
+
reverse(
|
|
1864
|
+
"wagtailadmin_pages:add",
|
|
1865
|
+
args=("tests", "formpage", self.root_page.id),
|
|
1866
|
+
)
|
|
1867
|
+
)
|
|
1868
|
+
self.assertEqual(response.status_code, 200)
|
|
1869
|
+
|
|
1870
|
+
def test_post_creation_form(self):
|
|
1871
|
+
post_data = {
|
|
1872
|
+
"title": "Form page!",
|
|
1873
|
+
"slug": "contact-us",
|
|
1874
|
+
"form_fields-TOTAL_FORMS": "1",
|
|
1875
|
+
"form_fields-INITIAL_FORMS": "1",
|
|
1876
|
+
"form_fields-MIN_NUM_FORMS": "0",
|
|
1877
|
+
"form_fields-MAX_NUM_FORMS": "1000",
|
|
1878
|
+
"form_fields-0-id": "",
|
|
1879
|
+
"form_fields-0-label": "Field One",
|
|
1880
|
+
"form_fields-0-field_type": "singleline",
|
|
1881
|
+
}
|
|
1882
|
+
response = self.client.post(
|
|
1883
|
+
reverse(
|
|
1884
|
+
"wagtailadmin_pages:add",
|
|
1885
|
+
args=("tests", "formpage", self.root_page.id),
|
|
1886
|
+
),
|
|
1887
|
+
post_data,
|
|
1888
|
+
)
|
|
1889
|
+
# Find the page and check it
|
|
1890
|
+
page = Page.objects.get(slug="contact-us")
|
|
1891
|
+
|
|
1892
|
+
# Should be redirected to edit page
|
|
1893
|
+
self.assertRedirects(
|
|
1894
|
+
response, reverse("wagtailadmin_pages:edit", args=(page.id,))
|
|
1895
|
+
)
|
|
1896
|
+
|
|
1897
|
+
|
|
1898
|
+
class TestFormPageEdit(WagtailTestUtils, TestCase):
|
|
1899
|
+
def setUp(self):
|
|
1900
|
+
self.form_page = make_form_page()
|
|
1901
|
+
|
|
1902
|
+
# Login
|
|
1903
|
+
self.user = self.login()
|
|
1904
|
+
|
|
1905
|
+
def test_get_edit_form(self):
|
|
1906
|
+
response = self.client.get(
|
|
1907
|
+
reverse("wagtailadmin_pages:edit", args=(self.form_page.id,))
|
|
1908
|
+
)
|
|
1909
|
+
self.assertEqual(response.status_code, 200)
|
|
1910
|
+
|
|
1911
|
+
def test_post_edit_form(self):
|
|
1912
|
+
post_data = {
|
|
1913
|
+
"title": "Updated form page",
|
|
1914
|
+
"slug": "contact-us",
|
|
1915
|
+
"form_fields-TOTAL_FORMS": "1",
|
|
1916
|
+
"form_fields-INITIAL_FORMS": "1",
|
|
1917
|
+
"form_fields-MIN_NUM_FORMS": "0",
|
|
1918
|
+
"form_fields-MAX_NUM_FORMS": "1000",
|
|
1919
|
+
"form_fields-0-id": "",
|
|
1920
|
+
"form_fields-0-label": "Field One",
|
|
1921
|
+
"form_fields-0-field_type": "singleline",
|
|
1922
|
+
}
|
|
1923
|
+
response = self.client.post(
|
|
1924
|
+
reverse("wagtailadmin_pages:edit", args=(self.form_page.id,)),
|
|
1925
|
+
post_data,
|
|
1926
|
+
)
|
|
1927
|
+
# Should be redirected to edit page
|
|
1928
|
+
self.assertRedirects(
|
|
1929
|
+
response, reverse("wagtailadmin_pages:edit", args=(self.form_page.id,))
|
|
1930
|
+
)
|
|
1931
|
+
page = Page.objects.get(slug="contact-us").get_latest_revision_as_object()
|
|
1932
|
+
self.assertEqual(page.title, "Updated form page")
|
|
@@ -16,9 +16,9 @@ msgstr ""
|
|
|
16
16
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
17
17
|
"Content-Transfer-Encoding: 8bit\n"
|
|
18
18
|
"Language: be\n"
|
|
19
|
-
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
20
|
-
"
|
|
21
|
-
"
|
|
19
|
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
|
20
|
+
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
|
|
21
|
+
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
22
22
|
|
|
23
23
|
msgid "Edit"
|
|
24
24
|
msgstr "Рэдагаваць"
|
|
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: hr_HR\n"
|
|
20
|
-
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
21
|
-
"
|
|
20
|
+
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
|
21
|
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
|
22
22
|
|
|
23
23
|
msgid "Wagtail ModelAdmin"
|
|
24
24
|
msgstr "Wagtail ModelAdmin"
|
|
Binary file
|
|
@@ -21,9 +21,9 @@ msgstr ""
|
|
|
21
21
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
22
22
|
"Content-Transfer-Encoding: 8bit\n"
|
|
23
23
|
"Language: pl\n"
|
|
24
|
-
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && "
|
|
25
|
-
"
|
|
26
|
-
"
|
|
24
|
+
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
|
|
25
|
+
"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
|
|
26
|
+
"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
|
27
27
|
|
|
28
28
|
msgid "Wagtail ModelAdmin"
|
|
29
29
|
msgstr "Wagtail ModelAdmin"
|
|
Binary file
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
# Translators:
|
|
6
6
|
# Luiz Boaretto <lboaretto@gmail.com>, 2016,2019-2020
|
|
7
|
-
# Rodrigo de Almeida Sottomaior Macedo <
|
|
7
|
+
# Rodrigo de Almeida Sottomaior Macedo <sottomaiormacedotec@gmail.com>, 2021-2022
|
|
8
8
|
msgid ""
|
|
9
9
|
msgstr ""
|
|
10
10
|
"Project-Id-Version: Wagtail\n"
|
|
@@ -12,7 +12,7 @@ msgstr ""
|
|
|
12
12
|
"POT-Creation-Date: 2023-10-19 23:14+0100\n"
|
|
13
13
|
"PO-Revision-Date: 2016-05-11 20:22+0000\n"
|
|
14
14
|
"Last-Translator: Rodrigo de Almeida Sottomaior Macedo "
|
|
15
|
-
"<
|
|
15
|
+
"<sottomaiormacedotec@gmail.com>, 2021-2022\n"
|
|
16
16
|
"Language-Team: Portuguese (Brazil) (http://app.transifex.com/torchbox/"
|
|
17
17
|
"wagtail/language/pt_BR/)\n"
|
|
18
18
|
"MIME-Version: 1.0\n"
|
|
@@ -25,9 +25,9 @@ msgstr ""
|
|
|
25
25
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
26
26
|
"Content-Transfer-Encoding: 8bit\n"
|
|
27
27
|
"Language: ru\n"
|
|
28
|
-
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
29
|
-
"
|
|
30
|
-
"
|
|
28
|
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
|
29
|
+
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
|
|
30
|
+
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
31
31
|
|
|
32
32
|
msgid "Wagtail ModelAdmin"
|
|
33
33
|
msgstr "Управление моделями Wagtail"
|
|
@@ -18,8 +18,8 @@ msgstr ""
|
|
|
18
18
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
19
19
|
"Content-Transfer-Encoding: 8bit\n"
|
|
20
20
|
"Language: sl\n"
|
|
21
|
-
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
|
|
22
|
-
"
|
|
21
|
+
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
|
22
|
+
"%100==4 ? 2 : 3);\n"
|
|
23
23
|
|
|
24
24
|
msgid "Wagtail ModelAdmin"
|
|
25
25
|
msgstr "Wagtail ModelAdmin"
|
|
@@ -16,8 +16,8 @@ msgstr ""
|
|
|
16
16
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
17
17
|
"Content-Transfer-Encoding: 8bit\n"
|
|
18
18
|
"Language: sr\n"
|
|
19
|
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
20
|
-
"
|
|
19
|
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
|
20
|
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
|
21
21
|
|
|
22
22
|
msgid "Saving…"
|
|
23
23
|
msgstr "Čuvanje..."
|
|
@@ -146,11 +146,11 @@ msgstr "عذرًا ، لا توجد عمليات إعادة توجيه تطاب
|
|
|
146
146
|
|
|
147
147
|
#, python-format
|
|
148
148
|
msgid ""
|
|
149
|
-
"No redirects have been created. Why not <a "
|
|
150
|
-
"
|
|
149
|
+
"No redirects have been created. Why not <a href="
|
|
150
|
+
"\"%(wagtailredirects_add_redirect_url)s\">add one</a>?"
|
|
151
151
|
msgstr ""
|
|
152
|
-
"لم يتم إنشاء عمليات إعادة توجيه. لماذا لا<a "
|
|
153
|
-
"
|
|
152
|
+
"لم يتم إنشاء عمليات إعادة توجيه. لماذا لا<a href="
|
|
153
|
+
"\"%(wagtailredirects_add_redirect_url)s\"> تضيف واحدة</a>؟"
|
|
154
154
|
|
|
155
155
|
msgid "Search redirects"
|
|
156
156
|
msgstr "ابحث تغييرات الاتجاه"
|
|
@@ -17,9 +17,9 @@ msgstr ""
|
|
|
17
17
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
18
|
"Content-Transfer-Encoding: 8bit\n"
|
|
19
19
|
"Language: be\n"
|
|
20
|
-
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
|
21
|
-
"
|
|
22
|
-
"
|
|
20
|
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
|
21
|
+
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
|
|
22
|
+
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
|
23
23
|
|
|
24
24
|
msgid "Type"
|
|
25
25
|
msgstr "Тып"
|
|
@@ -77,11 +77,11 @@ msgstr "Редактирайте това пренасочване"
|
|
|
77
77
|
|
|
78
78
|
#, python-format
|
|
79
79
|
msgid ""
|
|
80
|
-
"No redirects have been created. Why not <a "
|
|
81
|
-
"
|
|
80
|
+
"No redirects have been created. Why not <a href="
|
|
81
|
+
"\"%(wagtailredirects_add_redirect_url)s\">add one</a>?"
|
|
82
82
|
msgstr ""
|
|
83
|
-
"Няма създадени пренасочвания. Защо не <a "
|
|
84
|
-
"
|
|
83
|
+
"Няма създадени пренасочвания. Защо не <a href="
|
|
84
|
+
"\"%(wagtailredirects_add_redirect_url)s\">добавите един сега</a>?"
|
|
85
85
|
|
|
86
86
|
#, python-format
|
|
87
87
|
msgid "Redirect '%(redirect_title)s' updated."
|
|
@@ -215,11 +215,11 @@ msgstr "Ho sentim, cap redirecció coincideix amb \"<em>%(query_string)s</em>\""
|
|
|
215
215
|
|
|
216
216
|
#, python-format
|
|
217
217
|
msgid ""
|
|
218
|
-
"No redirects have been created. Why not <a "
|
|
219
|
-
"
|
|
218
|
+
"No redirects have been created. Why not <a href="
|
|
219
|
+
"\"%(wagtailredirects_add_redirect_url)s\">add one</a>?"
|
|
220
220
|
msgstr ""
|
|
221
|
-
"No s'ha creat cap redirecció. Per què no <a "
|
|
222
|
-
"
|
|
221
|
+
"No s'ha creat cap redirecció. Per què no <a href="
|
|
222
|
+
"\"%(wagtailredirects_add_redirect_url)s\">afegeixes una</a>?"
|
|
223
223
|
|
|
224
224
|
msgid "Search redirects"
|
|
225
225
|
msgstr "Cerca redireccions"
|
|
@@ -184,11 +184,11 @@ msgstr ""
|
|
|
184
184
|
|
|
185
185
|
#, python-format
|
|
186
186
|
msgid ""
|
|
187
|
-
"No redirects have been created. Why not <a "
|
|
188
|
-
"
|
|
187
|
+
"No redirects have been created. Why not <a href="
|
|
188
|
+
"\"%(wagtailredirects_add_redirect_url)s\">add one</a>?"
|
|
189
189
|
msgstr ""
|
|
190
|
-
"Nebyly nalezeny žádná přesměrování. Nové přesměrování můžete přidat <a "
|
|
191
|
-
"
|
|
190
|
+
"Nebyly nalezeny žádná přesměrování. Nové přesměrování můžete přidat <a href="
|
|
191
|
+
"\"%(wagtailredirects_add_redirect_url)s\">zde</a>?"
|
|
192
192
|
|
|
193
193
|
msgid "Search redirects"
|
|
194
194
|
msgstr "Hledat přesměrování"
|