wagtail 6.1.1__py3-none-any.whl → 6.1.2__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.
Files changed (352) hide show
  1. wagtail/__init__.py +1 -1
  2. wagtail/admin/locale/ar/LC_MESSAGES/django.po +2 -2
  3. wagtail/admin/locale/be/LC_MESSAGES/django.po +7 -7
  4. wagtail/admin/locale/be/LC_MESSAGES/djangojs.po +3 -3
  5. wagtail/admin/locale/ca/LC_MESSAGES/django.po +49 -50
  6. wagtail/admin/locale/cs/LC_MESSAGES/django.po +8 -10
  7. wagtail/admin/locale/de/LC_MESSAGES/django.po +47 -49
  8. wagtail/admin/locale/dv/LC_MESSAGES/django.po +8 -8
  9. wagtail/admin/locale/el/LC_MESSAGES/django.po +4 -4
  10. wagtail/admin/locale/es/LC_MESSAGES/django.po +39 -40
  11. wagtail/admin/locale/es_419/LC_MESSAGES/django.po +8 -8
  12. wagtail/admin/locale/et/LC_MESSAGES/django.po +12 -14
  13. wagtail/admin/locale/fa/LC_MESSAGES/django.po +18 -18
  14. wagtail/admin/locale/fi/LC_MESSAGES/django.po +18 -18
  15. wagtail/admin/locale/fr/LC_MESSAGES/django.po +44 -46
  16. wagtail/admin/locale/gl/LC_MESSAGES/django.po +54 -55
  17. wagtail/admin/locale/hr_HR/LC_MESSAGES/django.po +12 -13
  18. wagtail/admin/locale/hr_HR/LC_MESSAGES/djangojs.po +2 -2
  19. wagtail/admin/locale/hu/LC_MESSAGES/django.po +42 -45
  20. wagtail/admin/locale/id_ID/LC_MESSAGES/django.po +6 -6
  21. wagtail/admin/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  22. wagtail/admin/locale/is_IS/LC_MESSAGES/django.po +277 -53
  23. wagtail/admin/locale/it/LC_MESSAGES/django.po +55 -56
  24. wagtail/admin/locale/ja/LC_MESSAGES/django.po +2 -2
  25. wagtail/admin/locale/ko/LC_MESSAGES/django.po +17 -18
  26. wagtail/admin/locale/lt/LC_MESSAGES/django.po +4 -4
  27. wagtail/admin/locale/nb/LC_MESSAGES/django.po +22 -22
  28. wagtail/admin/locale/nl/LC_MESSAGES/django.po +41 -44
  29. wagtail/admin/locale/pl/LC_MESSAGES/django.po +47 -49
  30. wagtail/admin/locale/pl/LC_MESSAGES/djangojs.po +3 -3
  31. wagtail/admin/locale/pt_BR/LC_MESSAGES/django.po +25 -26
  32. wagtail/admin/locale/pt_PT/LC_MESSAGES/django.po +20 -21
  33. wagtail/admin/locale/ro/LC_MESSAGES/django.po +50 -51
  34. wagtail/admin/locale/ru/LC_MESSAGES/django.po +59 -60
  35. wagtail/admin/locale/ru/LC_MESSAGES/djangojs.po +3 -3
  36. wagtail/admin/locale/sk_SK/LC_MESSAGES/django.po +4 -4
  37. wagtail/admin/locale/sl/LC_MESSAGES/django.mo +0 -0
  38. wagtail/admin/locale/sl/LC_MESSAGES/django.po +120 -40
  39. wagtail/admin/locale/sl/LC_MESSAGES/djangojs.po +2 -2
  40. wagtail/admin/locale/sv/LC_MESSAGES/django.po +41 -43
  41. wagtail/admin/locale/tet/LC_MESSAGES/django.po +2 -2
  42. wagtail/admin/locale/th/LC_MESSAGES/django.po +4 -4
  43. wagtail/admin/locale/tr/LC_MESSAGES/django.po +4 -4
  44. wagtail/admin/locale/tr_TR/LC_MESSAGES/django.po +4 -4
  45. wagtail/admin/locale/uk/LC_MESSAGES/django.po +10 -11
  46. wagtail/admin/locale/zh_Hans/LC_MESSAGES/django.po +12 -13
  47. wagtail/admin/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
  48. wagtail/admin/static/wagtailadmin/js/telepath/widgets.js +1 -1
  49. wagtail/contrib/forms/locale/be/LC_MESSAGES/django.po +3 -3
  50. wagtail/contrib/forms/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  51. wagtail/contrib/forms/locale/pl/LC_MESSAGES/django.po +3 -3
  52. wagtail/contrib/forms/locale/ru/LC_MESSAGES/django.po +3 -3
  53. wagtail/contrib/forms/locale/sl/LC_MESSAGES/django.po +2 -2
  54. wagtail/contrib/redirects/locale/ar/LC_MESSAGES/django.po +4 -4
  55. wagtail/contrib/redirects/locale/be/LC_MESSAGES/django.po +3 -3
  56. wagtail/contrib/redirects/locale/bg/LC_MESSAGES/django.po +4 -4
  57. wagtail/contrib/redirects/locale/ca/LC_MESSAGES/django.po +4 -4
  58. wagtail/contrib/redirects/locale/cs/LC_MESSAGES/django.po +4 -4
  59. wagtail/contrib/redirects/locale/cy/LC_MESSAGES/django.po +6 -6
  60. wagtail/contrib/redirects/locale/de/LC_MESSAGES/django.po +4 -5
  61. wagtail/contrib/redirects/locale/el/LC_MESSAGES/django.po +7 -7
  62. wagtail/contrib/redirects/locale/es/LC_MESSAGES/django.po +6 -6
  63. wagtail/contrib/redirects/locale/et/LC_MESSAGES/django.po +4 -4
  64. wagtail/contrib/redirects/locale/fa/LC_MESSAGES/django.po +4 -4
  65. wagtail/contrib/redirects/locale/fi/LC_MESSAGES/django.po +6 -6
  66. wagtail/contrib/redirects/locale/fr/LC_MESSAGES/django.po +4 -4
  67. wagtail/contrib/redirects/locale/gl/LC_MESSAGES/django.po +4 -4
  68. wagtail/contrib/redirects/locale/hr_HR/LC_MESSAGES/django.po +8 -8
  69. wagtail/contrib/redirects/locale/hu/LC_MESSAGES/django.po +6 -6
  70. wagtail/contrib/redirects/locale/id_ID/LC_MESSAGES/django.po +4 -4
  71. wagtail/contrib/redirects/locale/is_IS/LC_MESSAGES/django.po +6 -6
  72. wagtail/contrib/redirects/locale/it/LC_MESSAGES/django.po +4 -4
  73. wagtail/contrib/redirects/locale/ja/LC_MESSAGES/django.po +2 -2
  74. wagtail/contrib/redirects/locale/ko/LC_MESSAGES/django.po +4 -4
  75. wagtail/contrib/redirects/locale/lt/LC_MESSAGES/django.po +4 -4
  76. wagtail/contrib/redirects/locale/mn/LC_MESSAGES/django.po +4 -4
  77. wagtail/contrib/redirects/locale/nb/LC_MESSAGES/django.po +4 -4
  78. wagtail/contrib/redirects/locale/nl/LC_MESSAGES/django.po +4 -4
  79. wagtail/contrib/redirects/locale/pl/LC_MESSAGES/django.po +9 -9
  80. wagtail/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po +4 -4
  81. wagtail/contrib/redirects/locale/pt_PT/LC_MESSAGES/django.po +4 -4
  82. wagtail/contrib/redirects/locale/ro/LC_MESSAGES/django.po +4 -4
  83. wagtail/contrib/redirects/locale/ru/LC_MESSAGES/django.po +7 -7
  84. wagtail/contrib/redirects/locale/sk_SK/LC_MESSAGES/django.po +4 -4
  85. wagtail/contrib/redirects/locale/sl/LC_MESSAGES/django.po +6 -6
  86. wagtail/contrib/redirects/locale/sr/LC_MESSAGES/django.po +2 -2
  87. wagtail/contrib/redirects/locale/sv/LC_MESSAGES/django.po +4 -4
  88. wagtail/contrib/redirects/locale/tet/LC_MESSAGES/django.po +4 -4
  89. wagtail/contrib/redirects/locale/th/LC_MESSAGES/django.po +4 -4
  90. wagtail/contrib/redirects/locale/tr/LC_MESSAGES/django.po +4 -4
  91. wagtail/contrib/redirects/locale/tr_TR/LC_MESSAGES/django.po +4 -4
  92. wagtail/contrib/redirects/locale/uk/LC_MESSAGES/django.po +4 -4
  93. wagtail/contrib/redirects/locale/zh/LC_MESSAGES/django.po +4 -4
  94. wagtail/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
  95. wagtail/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
  96. wagtail/contrib/search_promotions/locale/ar/LC_MESSAGES/django.po +4 -4
  97. wagtail/contrib/search_promotions/locale/be/LC_MESSAGES/django.po +7 -7
  98. wagtail/contrib/search_promotions/locale/ca/LC_MESSAGES/django.po +8 -8
  99. wagtail/contrib/search_promotions/locale/cs/LC_MESSAGES/django.po +2 -2
  100. wagtail/contrib/search_promotions/locale/cy/LC_MESSAGES/django.po +4 -4
  101. wagtail/contrib/search_promotions/locale/de/LC_MESSAGES/django.po +6 -6
  102. wagtail/contrib/search_promotions/locale/el/LC_MESSAGES/django.po +4 -4
  103. wagtail/contrib/search_promotions/locale/es/LC_MESSAGES/django.po +6 -6
  104. wagtail/contrib/search_promotions/locale/et/LC_MESSAGES/django.po +4 -4
  105. wagtail/contrib/search_promotions/locale/fa/LC_MESSAGES/django.po +4 -4
  106. wagtail/contrib/search_promotions/locale/fi/LC_MESSAGES/django.po +6 -6
  107. wagtail/contrib/search_promotions/locale/fr/LC_MESSAGES/django.po +4 -4
  108. wagtail/contrib/search_promotions/locale/gl/LC_MESSAGES/django.po +6 -6
  109. wagtail/contrib/search_promotions/locale/hr_HR/LC_MESSAGES/django.po +8 -8
  110. wagtail/contrib/search_promotions/locale/hu/LC_MESSAGES/django.po +4 -4
  111. wagtail/contrib/search_promotions/locale/id_ID/LC_MESSAGES/django.po +4 -4
  112. wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  113. wagtail/contrib/search_promotions/locale/is_IS/LC_MESSAGES/django.po +14 -10
  114. wagtail/contrib/search_promotions/locale/it/LC_MESSAGES/django.po +6 -6
  115. wagtail/contrib/search_promotions/locale/ja/LC_MESSAGES/django.po +4 -4
  116. wagtail/contrib/search_promotions/locale/ko/LC_MESSAGES/django.po +4 -4
  117. wagtail/contrib/search_promotions/locale/lt/LC_MESSAGES/django.po +6 -6
  118. wagtail/contrib/search_promotions/locale/nb/LC_MESSAGES/django.po +4 -4
  119. wagtail/contrib/search_promotions/locale/nl/LC_MESSAGES/django.po +6 -6
  120. wagtail/contrib/search_promotions/locale/pl/LC_MESSAGES/django.po +9 -9
  121. wagtail/contrib/search_promotions/locale/pt_BR/LC_MESSAGES/django.po +4 -4
  122. wagtail/contrib/search_promotions/locale/pt_PT/LC_MESSAGES/django.po +4 -4
  123. wagtail/contrib/search_promotions/locale/ro/LC_MESSAGES/django.po +4 -4
  124. wagtail/contrib/search_promotions/locale/ru/LC_MESSAGES/django.po +9 -9
  125. wagtail/contrib/search_promotions/locale/sk_SK/LC_MESSAGES/django.po +4 -4
  126. wagtail/contrib/search_promotions/locale/sl/LC_MESSAGES/django.po +6 -6
  127. wagtail/contrib/search_promotions/locale/sr/LC_MESSAGES/django.po +2 -2
  128. wagtail/contrib/search_promotions/locale/sv/LC_MESSAGES/django.po +4 -4
  129. wagtail/contrib/search_promotions/locale/th/LC_MESSAGES/django.po +4 -4
  130. wagtail/contrib/search_promotions/locale/tr/LC_MESSAGES/django.po +4 -4
  131. wagtail/contrib/search_promotions/locale/tr_TR/LC_MESSAGES/django.po +4 -4
  132. wagtail/contrib/search_promotions/locale/uk/LC_MESSAGES/django.po +4 -4
  133. wagtail/contrib/search_promotions/locale/zh_Hans/LC_MESSAGES/django.po +2 -2
  134. wagtail/contrib/search_promotions/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
  135. wagtail/contrib/settings/locale/be/LC_MESSAGES/django.po +3 -3
  136. wagtail/contrib/settings/locale/hi/LC_MESSAGES/django.po +1 -1
  137. wagtail/contrib/settings/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  138. wagtail/contrib/settings/locale/pl/LC_MESSAGES/django.po +3 -3
  139. wagtail/contrib/settings/locale/ru/LC_MESSAGES/django.po +3 -3
  140. wagtail/contrib/settings/locale/sl/LC_MESSAGES/django.po +2 -2
  141. wagtail/contrib/settings/locale/sr/LC_MESSAGES/django.po +2 -2
  142. wagtail/contrib/settings/tests/generic/test_admin.py +144 -16
  143. wagtail/contrib/settings/tests/site_specific/test_admin.py +142 -17
  144. wagtail/contrib/settings/views.py +3 -0
  145. wagtail/contrib/simple_translation/locale/be/LC_MESSAGES/django.po +3 -3
  146. wagtail/contrib/simple_translation/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  147. wagtail/contrib/simple_translation/locale/pl/LC_MESSAGES/django.po +3 -3
  148. wagtail/contrib/simple_translation/locale/ru/LC_MESSAGES/django.po +3 -3
  149. wagtail/contrib/simple_translation/locale/sl/LC_MESSAGES/django.po +2 -2
  150. wagtail/contrib/styleguide/locale/be/LC_MESSAGES/django.po +3 -3
  151. wagtail/contrib/styleguide/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  152. wagtail/contrib/styleguide/locale/pl/LC_MESSAGES/django.po +3 -3
  153. wagtail/contrib/styleguide/locale/ru/LC_MESSAGES/django.po +3 -3
  154. wagtail/contrib/styleguide/locale/sl/LC_MESSAGES/django.po +2 -2
  155. wagtail/contrib/styleguide/tests.py +33 -0
  156. wagtail/contrib/styleguide/views.py +4 -1
  157. wagtail/contrib/table_block/locale/be/LC_MESSAGES/django.po +3 -3
  158. wagtail/contrib/table_block/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  159. wagtail/contrib/table_block/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  160. wagtail/contrib/table_block/locale/is_IS/LC_MESSAGES/django.po +28 -2
  161. wagtail/contrib/table_block/locale/pl/LC_MESSAGES/django.po +3 -3
  162. wagtail/contrib/table_block/locale/ru/LC_MESSAGES/django.po +3 -3
  163. wagtail/contrib/table_block/locale/sl/LC_MESSAGES/django.po +2 -2
  164. wagtail/contrib/typed_table_block/locale/be/LC_MESSAGES/django.po +3 -3
  165. wagtail/contrib/typed_table_block/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  166. wagtail/contrib/typed_table_block/locale/is_IS/LC_MESSAGES/django.po +12 -1
  167. wagtail/contrib/typed_table_block/locale/pl/LC_MESSAGES/django.po +3 -3
  168. wagtail/contrib/typed_table_block/locale/ru/LC_MESSAGES/django.po +3 -3
  169. wagtail/contrib/typed_table_block/locale/sl/LC_MESSAGES/django.po +2 -2
  170. wagtail/documents/locale/ar/LC_MESSAGES/django.po +8 -8
  171. wagtail/documents/locale/be/LC_MESSAGES/django.po +11 -11
  172. wagtail/documents/locale/bg/LC_MESSAGES/django.po +4 -4
  173. wagtail/documents/locale/ca/LC_MESSAGES/django.po +10 -10
  174. wagtail/documents/locale/cs/LC_MESSAGES/django.po +6 -6
  175. wagtail/documents/locale/de/LC_MESSAGES/django.po +8 -10
  176. wagtail/documents/locale/el/LC_MESSAGES/django.po +8 -8
  177. wagtail/documents/locale/es/LC_MESSAGES/django.po +8 -8
  178. wagtail/documents/locale/et/LC_MESSAGES/django.po +6 -6
  179. wagtail/documents/locale/fa/LC_MESSAGES/django.po +8 -8
  180. wagtail/documents/locale/fi/LC_MESSAGES/django.po +10 -10
  181. wagtail/documents/locale/fr/LC_MESSAGES/django.po +6 -6
  182. wagtail/documents/locale/gl/LC_MESSAGES/django.po +8 -8
  183. wagtail/documents/locale/hr_HR/LC_MESSAGES/django.po +14 -14
  184. wagtail/documents/locale/hu/LC_MESSAGES/django.po +12 -12
  185. wagtail/documents/locale/id_ID/LC_MESSAGES/django.po +6 -6
  186. wagtail/documents/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  187. wagtail/documents/locale/is_IS/LC_MESSAGES/django.po +25 -10
  188. wagtail/documents/locale/it/LC_MESSAGES/django.po +8 -8
  189. wagtail/documents/locale/ja/LC_MESSAGES/django.po +8 -8
  190. wagtail/documents/locale/ko/LC_MESSAGES/django.po +8 -8
  191. wagtail/documents/locale/lt/LC_MESSAGES/django.po +8 -8
  192. wagtail/documents/locale/mi/LC_MESSAGES/django.po +10 -10
  193. wagtail/documents/locale/mn/LC_MESSAGES/django.po +4 -5
  194. wagtail/documents/locale/nb/LC_MESSAGES/django.po +6 -6
  195. wagtail/documents/locale/nl/LC_MESSAGES/django.po +8 -8
  196. wagtail/documents/locale/pl/LC_MESSAGES/django.po +11 -11
  197. wagtail/documents/locale/pt_BR/LC_MESSAGES/django.po +8 -8
  198. wagtail/documents/locale/pt_PT/LC_MESSAGES/django.po +8 -8
  199. wagtail/documents/locale/ro/LC_MESSAGES/django.po +8 -8
  200. wagtail/documents/locale/ru/LC_MESSAGES/django.po +9 -9
  201. wagtail/documents/locale/sk_SK/LC_MESSAGES/django.po +10 -10
  202. wagtail/documents/locale/sl/LC_MESSAGES/django.mo +0 -0
  203. wagtail/documents/locale/sl/LC_MESSAGES/django.po +21 -12
  204. wagtail/documents/locale/sr/LC_MESSAGES/django.po +2 -2
  205. wagtail/documents/locale/sv/LC_MESSAGES/django.po +6 -6
  206. wagtail/documents/locale/th/LC_MESSAGES/django.po +8 -8
  207. wagtail/documents/locale/tr/LC_MESSAGES/django.po +8 -8
  208. wagtail/documents/locale/tr_TR/LC_MESSAGES/django.po +8 -8
  209. wagtail/documents/locale/uk/LC_MESSAGES/django.po +8 -8
  210. wagtail/documents/locale/zh/LC_MESSAGES/django.po +2 -2
  211. wagtail/documents/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
  212. wagtail/documents/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
  213. wagtail/embeds/locale/be/LC_MESSAGES/django.po +3 -3
  214. wagtail/embeds/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  215. wagtail/embeds/locale/pl/LC_MESSAGES/django.po +3 -3
  216. wagtail/embeds/locale/ru/LC_MESSAGES/django.po +3 -3
  217. wagtail/embeds/locale/sl/LC_MESSAGES/django.po +2 -2
  218. wagtail/images/locale/ar/LC_MESSAGES/django.po +6 -6
  219. wagtail/images/locale/be/LC_MESSAGES/django.po +3 -3
  220. wagtail/images/locale/ca/LC_MESSAGES/django.po +8 -8
  221. wagtail/images/locale/cs/LC_MESSAGES/django.po +8 -8
  222. wagtail/images/locale/cy/LC_MESSAGES/django.po +8 -8
  223. wagtail/images/locale/de/LC_MESSAGES/django.po +6 -6
  224. wagtail/images/locale/el/LC_MESSAGES/django.po +8 -8
  225. wagtail/images/locale/es/LC_MESSAGES/django.po +10 -10
  226. wagtail/images/locale/et/LC_MESSAGES/django.po +8 -8
  227. wagtail/images/locale/fa/LC_MESSAGES/django.po +8 -8
  228. wagtail/images/locale/fi/LC_MESSAGES/django.po +8 -8
  229. wagtail/images/locale/fr/LC_MESSAGES/django.po +6 -6
  230. wagtail/images/locale/gl/LC_MESSAGES/django.po +8 -8
  231. wagtail/images/locale/hr_HR/LC_MESSAGES/django.po +8 -8
  232. wagtail/images/locale/hu/LC_MESSAGES/django.po +8 -8
  233. wagtail/images/locale/id_ID/LC_MESSAGES/django.po +6 -6
  234. wagtail/images/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  235. wagtail/images/locale/is_IS/LC_MESSAGES/django.po +36 -10
  236. wagtail/images/locale/it/LC_MESSAGES/django.po +8 -8
  237. wagtail/images/locale/ja/LC_MESSAGES/django.po +8 -8
  238. wagtail/images/locale/ko/LC_MESSAGES/django.po +6 -6
  239. wagtail/images/locale/lt/LC_MESSAGES/django.po +8 -8
  240. wagtail/images/locale/nb/LC_MESSAGES/django.po +8 -8
  241. wagtail/images/locale/nl/LC_MESSAGES/django.po +8 -8
  242. wagtail/images/locale/pl/LC_MESSAGES/django.po +11 -11
  243. wagtail/images/locale/pt_BR/LC_MESSAGES/django.po +8 -8
  244. wagtail/images/locale/pt_PT/LC_MESSAGES/django.po +8 -8
  245. wagtail/images/locale/ro/LC_MESSAGES/django.po +8 -8
  246. wagtail/images/locale/ru/LC_MESSAGES/django.po +11 -11
  247. wagtail/images/locale/sk_SK/LC_MESSAGES/django.po +8 -8
  248. wagtail/images/locale/sl/LC_MESSAGES/django.po +10 -10
  249. wagtail/images/locale/sv/LC_MESSAGES/django.po +6 -6
  250. wagtail/images/locale/tet/LC_MESSAGES/django.po +4 -4
  251. wagtail/images/locale/th/LC_MESSAGES/django.po +8 -8
  252. wagtail/images/locale/tr/LC_MESSAGES/django.po +6 -6
  253. wagtail/images/locale/tr_TR/LC_MESSAGES/django.po +6 -6
  254. wagtail/images/locale/uk/LC_MESSAGES/django.po +8 -8
  255. wagtail/images/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
  256. wagtail/images/locale/zh_Hant/LC_MESSAGES/django.po +4 -4
  257. wagtail/locale/be/LC_MESSAGES/django.po +3 -3
  258. wagtail/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  259. wagtail/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  260. wagtail/locale/is_IS/LC_MESSAGES/django.po +22 -2
  261. wagtail/locale/pl/LC_MESSAGES/django.po +3 -3
  262. wagtail/locale/ru/LC_MESSAGES/django.po +3 -3
  263. wagtail/locale/sl/LC_MESSAGES/django.mo +0 -0
  264. wagtail/locale/sl/LC_MESSAGES/django.po +79 -2
  265. wagtail/locales/locale/be/LC_MESSAGES/django.po +3 -3
  266. wagtail/locales/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  267. wagtail/locales/locale/it/LC_MESSAGES/django.mo +0 -0
  268. wagtail/locales/locale/it/LC_MESSAGES/django.po +16 -17
  269. wagtail/locales/locale/pl/LC_MESSAGES/django.po +3 -3
  270. wagtail/locales/locale/ru/LC_MESSAGES/django.po +3 -3
  271. wagtail/locales/locale/sl/LC_MESSAGES/django.po +2 -2
  272. wagtail/search/locale/be/LC_MESSAGES/django.po +3 -3
  273. wagtail/search/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  274. wagtail/search/locale/pl/LC_MESSAGES/django.po +3 -3
  275. wagtail/search/locale/ru/LC_MESSAGES/django.po +3 -3
  276. wagtail/search/locale/sl/LC_MESSAGES/django.po +2 -2
  277. wagtail/sites/locale/be/LC_MESSAGES/django.po +3 -3
  278. wagtail/sites/locale/hr_HR/LC_MESSAGES/django.po +2 -2
  279. wagtail/sites/locale/pl/LC_MESSAGES/django.po +3 -3
  280. wagtail/sites/locale/ru/LC_MESSAGES/django.po +3 -3
  281. wagtail/sites/locale/sl/LC_MESSAGES/django.po +2 -2
  282. wagtail/sites/locale/sr/LC_MESSAGES/django.po +2 -2
  283. wagtail/snippets/locale/be/LC_MESSAGES/django.po +3 -3
  284. wagtail/snippets/locale/ca/LC_MESSAGES/django.po +6 -6
  285. wagtail/snippets/locale/de/LC_MESSAGES/django.po +5 -5
  286. wagtail/snippets/locale/es/LC_MESSAGES/django.po +6 -6
  287. wagtail/snippets/locale/fr/LC_MESSAGES/django.po +5 -5
  288. wagtail/snippets/locale/gl/LC_MESSAGES/django.po +6 -6
  289. wagtail/snippets/locale/hr_HR/LC_MESSAGES/django.po +8 -8
  290. wagtail/snippets/locale/hu/LC_MESSAGES/django.po +7 -7
  291. wagtail/snippets/locale/is_IS/LC_MESSAGES/django.po +5 -5
  292. wagtail/snippets/locale/it/LC_MESSAGES/django.po +5 -5
  293. wagtail/snippets/locale/ko/LC_MESSAGES/django.po +6 -6
  294. wagtail/snippets/locale/nb/LC_MESSAGES/django.po +6 -6
  295. wagtail/snippets/locale/nl/LC_MESSAGES/django.po +8 -8
  296. wagtail/snippets/locale/pl/LC_MESSAGES/django.po +9 -9
  297. wagtail/snippets/locale/ro/LC_MESSAGES/django.po +6 -6
  298. wagtail/snippets/locale/ru/LC_MESSAGES/django.po +8 -8
  299. wagtail/snippets/locale/sl/LC_MESSAGES/django.po +8 -8
  300. wagtail/snippets/locale/sr/LC_MESSAGES/django.po +2 -2
  301. wagtail/snippets/locale/sv/LC_MESSAGES/django.po +6 -6
  302. wagtail/test/testapp/templates/tests/icons/single-quotes.svg +1 -0
  303. wagtail/tests/test_blocks.py +27 -0
  304. wagtail/users/locale/ar/LC_MESSAGES/django.po +4 -4
  305. wagtail/users/locale/be/LC_MESSAGES/django.po +9 -9
  306. wagtail/users/locale/ca/LC_MESSAGES/django.po +8 -8
  307. wagtail/users/locale/cs/LC_MESSAGES/django.po +6 -6
  308. wagtail/users/locale/cy/LC_MESSAGES/django.po +8 -8
  309. wagtail/users/locale/de/LC_MESSAGES/django.po +8 -8
  310. wagtail/users/locale/el/LC_MESSAGES/django.po +4 -4
  311. wagtail/users/locale/es/LC_MESSAGES/django.po +8 -8
  312. wagtail/users/locale/et/LC_MESSAGES/django.po +8 -8
  313. wagtail/users/locale/fa/LC_MESSAGES/django.po +6 -6
  314. wagtail/users/locale/fi/LC_MESSAGES/django.po +8 -8
  315. wagtail/users/locale/fr/LC_MESSAGES/django.po +8 -8
  316. wagtail/users/locale/gl/LC_MESSAGES/django.po +8 -8
  317. wagtail/users/locale/hr_HR/LC_MESSAGES/django.po +10 -10
  318. wagtail/users/locale/hu/LC_MESSAGES/django.po +8 -8
  319. wagtail/users/locale/id_ID/LC_MESSAGES/django.po +4 -4
  320. wagtail/users/locale/is_IS/LC_MESSAGES/django.mo +0 -0
  321. wagtail/users/locale/is_IS/LC_MESSAGES/django.po +52 -10
  322. wagtail/users/locale/it/LC_MESSAGES/django.po +8 -8
  323. wagtail/users/locale/ja/LC_MESSAGES/django.po +4 -4
  324. wagtail/users/locale/ko/LC_MESSAGES/django.po +4 -4
  325. wagtail/users/locale/lt/LC_MESSAGES/django.po +4 -4
  326. wagtail/users/locale/lv/LC_MESSAGES/django.po +4 -4
  327. wagtail/users/locale/mn/LC_MESSAGES/django.po +4 -5
  328. wagtail/users/locale/nb/LC_MESSAGES/django.po +8 -8
  329. wagtail/users/locale/nl/LC_MESSAGES/django.po +6 -6
  330. wagtail/users/locale/pl/LC_MESSAGES/django.po +9 -9
  331. wagtail/users/locale/pt_BR/LC_MESSAGES/django.po +8 -8
  332. wagtail/users/locale/pt_PT/LC_MESSAGES/django.po +8 -8
  333. wagtail/users/locale/ro/LC_MESSAGES/django.po +8 -8
  334. wagtail/users/locale/ru/LC_MESSAGES/django.po +11 -11
  335. wagtail/users/locale/sk_SK/LC_MESSAGES/django.po +4 -4
  336. wagtail/users/locale/sl/LC_MESSAGES/django.po +10 -10
  337. wagtail/users/locale/sv/LC_MESSAGES/django.po +8 -8
  338. wagtail/users/locale/tet/LC_MESSAGES/django.po +4 -4
  339. wagtail/users/locale/th/LC_MESSAGES/django.po +4 -4
  340. wagtail/users/locale/tr/LC_MESSAGES/django.po +4 -4
  341. wagtail/users/locale/tr_TR/LC_MESSAGES/django.po +4 -4
  342. wagtail/users/locale/uk/LC_MESSAGES/django.po +8 -8
  343. wagtail/users/locale/zh_Hans/LC_MESSAGES/django.po +4 -4
  344. wagtail/users/locale/zh_Hant/LC_MESSAGES/django.po +2 -2
  345. wagtail/widget_adapters.py +1 -1
  346. wagtail-6.1.2.dist-info/METADATA +78 -0
  347. {wagtail-6.1.1.dist-info → wagtail-6.1.2.dist-info}/RECORD +351 -350
  348. {wagtail-6.1.1.dist-info → wagtail-6.1.2.dist-info}/WHEEL +1 -1
  349. wagtail-6.1.1.dist-info/METADATA +0 -78
  350. {wagtail-6.1.1.dist-info → wagtail-6.1.2.dist-info}/LICENSE +0 -0
  351. {wagtail-6.1.1.dist-info → wagtail-6.1.2.dist-info}/entry_points.txt +0 -0
  352. {wagtail-6.1.1.dist-info → wagtail-6.1.2.dist-info}/top_level.txt +0 -0
@@ -73,11 +73,6 @@ class BaseTestSiteSettingView(WagtailTestUtils, TestCase):
73
73
  class TestSiteSettingCreateView(BaseTestSiteSettingView):
74
74
  def setUp(self):
75
75
  self.user = self.login()
76
- self.user.user_permissions.add(
77
- Permission.objects.get(
78
- content_type__app_label="wagtailadmin", codename="access_admin"
79
- )
80
- )
81
76
 
82
77
  def test_get_edit(self):
83
78
  response = self.get()
@@ -109,11 +104,61 @@ class TestSiteSettingCreateView(BaseTestSiteSettingView):
109
104
  # Ensure the form supports file uploads
110
105
  self.assertContains(response, 'enctype="multipart/form-data"')
111
106
 
112
- def test_create_restricted_field_without_permission(self):
107
+ def test_create_restricted_field_without_any_permission(self):
108
+ # User has no permissions over the setting model, only access to the admin
109
+ self.user.is_superuser = False
110
+ self.user.save()
111
+ self.user.user_permissions.add(
112
+ Permission.objects.get(
113
+ content_type__app_label="wagtailadmin", codename="access_admin"
114
+ ),
115
+ )
116
+
117
+ self.assertFalse(TestPermissionedSiteSetting.objects.exists())
118
+ # GET should redirect away with permission denied
119
+ response = self.get(setting=TestPermissionedSiteSetting)
120
+ self.assertRedirects(response, status_code=302, expected_url="/admin/")
121
+
122
+ # the GET might create a setting object, depending on when the permission check is done,
123
+ # so remove any created objects prior to testing the POST
124
+
125
+ # POST should redirect away with permission denied
126
+ response = self.post(
127
+ post_data={"sensitive_email": "test@example.com", "title": "test"},
128
+ setting=TestPermissionedSiteSetting,
129
+ )
130
+ self.assertRedirects(response, status_code=302, expected_url="/admin/")
131
+
132
+ # The retrieved setting should contain none of the submitted data
133
+ settings = TestPermissionedSiteSetting.for_site(Site.objects.get(pk=1))
134
+ self.assertEqual(settings.title, "")
135
+ self.assertEqual(settings.sensitive_email, "")
136
+
137
+ def test_create_restricted_field_without_field_permission(self):
138
+ # User has edit permission over the setting model, but not the sensitive_email field
113
139
  self.user.is_superuser = False
114
140
  self.user.save()
141
+ self.user.user_permissions.add(
142
+ Permission.objects.get(
143
+ content_type__app_label="wagtailadmin", codename="access_admin"
144
+ ),
145
+ Permission.objects.get(
146
+ content_type__app_label="tests",
147
+ codename="change_testpermissionedsitesetting",
148
+ ),
149
+ )
115
150
 
116
151
  self.assertFalse(TestPermissionedSiteSetting.objects.exists())
152
+ # GET should provide a form with title but not sensitive_email
153
+ response = self.get(setting=TestPermissionedSiteSetting)
154
+ self.assertEqual(response.status_code, 200)
155
+ self.assertIn("title", list(response.context["form"].fields))
156
+ self.assertNotIn("sensitive_email", list(response.context["form"].fields))
157
+
158
+ # the GET creates a setting object, so remove any created objects prior to testing the POST
159
+ TestPermissionedSiteSetting.objects.all().delete()
160
+
161
+ # POST should allow the title to be set, but not the sensitive_email
117
162
  response = self.post(
118
163
  post_data={"sensitive_email": "test@example.com", "title": "test"},
119
164
  setting=TestPermissionedSiteSetting,
@@ -125,12 +170,30 @@ class TestSiteSettingCreateView(BaseTestSiteSettingView):
125
170
  self.assertEqual(settings.sensitive_email, "")
126
171
 
127
172
  def test_create_restricted_field(self):
173
+ # User has edit permission over the setting model, including the sensitive_email field
128
174
  self.user.is_superuser = False
129
175
  self.user.save()
130
176
  self.user.user_permissions.add(
131
- Permission.objects.get(codename="can_edit_sensitive_email_site_setting")
177
+ Permission.objects.get(
178
+ content_type__app_label="wagtailadmin", codename="access_admin"
179
+ ),
180
+ Permission.objects.get(
181
+ content_type__app_label="tests",
182
+ codename="change_testpermissionedsitesetting",
183
+ ),
184
+ Permission.objects.get(codename="can_edit_sensitive_email_site_setting"),
132
185
  )
133
186
  self.assertFalse(TestPermissionedSiteSetting.objects.exists())
187
+ # GET should provide a form with title and sensitive_email
188
+ response = self.get(setting=TestPermissionedSiteSetting)
189
+ self.assertEqual(response.status_code, 200)
190
+ self.assertIn("title", list(response.context["form"].fields))
191
+ self.assertIn("sensitive_email", list(response.context["form"].fields))
192
+
193
+ # the GET creates a setting object, so remove any created objects prior to testing the POST
194
+ TestPermissionedSiteSetting.objects.all().delete()
195
+
196
+ # POST should allow both title and sensitive_email to be set
134
197
  response = self.post(
135
198
  post_data={"sensitive_email": "test@example.com", "title": "test"},
136
199
  setting=TestPermissionedSiteSetting,
@@ -153,11 +216,6 @@ class TestSiteSettingEditView(BaseTestSiteSettingView):
153
216
  self.test_setting.save()
154
217
 
155
218
  self.user = self.login()
156
- self.user.user_permissions.add(
157
- Permission.objects.get(
158
- content_type__app_label="wagtailadmin", codename="access_admin"
159
- )
160
- )
161
219
 
162
220
  def test_get_edit(self):
163
221
  response = self.get()
@@ -211,50 +269,117 @@ class TestSiteSettingEditView(BaseTestSiteSettingView):
211
269
  self.assertRedirects(response, status_code=302, expected_url="/admin/")
212
270
 
213
271
  def test_edit_restricted_field(self):
272
+ # User has edit permission over the setting model, including the sensitive_email field
214
273
  test_setting = TestPermissionedSiteSetting()
274
+ test_setting.title = "Old title"
215
275
  test_setting.sensitive_email = "test@example.com"
216
276
  test_setting.site = self.default_site
217
277
  test_setting.save()
218
278
  self.user.is_superuser = False
219
279
  self.user.save()
220
-
221
280
  self.user.user_permissions.add(
222
- Permission.objects.get(codename="can_edit_sensitive_email_site_setting")
281
+ Permission.objects.get(
282
+ content_type__app_label="wagtailadmin", codename="access_admin"
283
+ ),
284
+ Permission.objects.get(
285
+ content_type__app_label="tests",
286
+ codename="change_testpermissionedsitesetting",
287
+ ),
288
+ Permission.objects.get(codename="can_edit_sensitive_email_site_setting"),
223
289
  )
224
290
 
291
+ # GET should provide a form with title and sensitive_email
225
292
  response = self.get(setting=TestPermissionedSiteSetting)
226
293
  self.assertEqual(response.status_code, 200)
294
+ self.assertIn("title", list(response.context["form"].fields))
227
295
  self.assertIn("sensitive_email", list(response.context["form"].fields))
228
296
 
297
+ # POST should allow both title and sensitive_email to be set
229
298
  response = self.post(
230
299
  setting=TestPermissionedSiteSetting,
231
- post_data={"sensitive_email": "test-updated@example.com", "title": "title"},
300
+ post_data={
301
+ "sensitive_email": "test-updated@example.com",
302
+ "title": "New title",
303
+ },
232
304
  )
233
305
  self.assertEqual(response.status_code, 302)
234
306
 
235
307
  test_setting.refresh_from_db()
236
308
  self.assertEqual(test_setting.sensitive_email, "test-updated@example.com")
309
+ self.assertEqual(test_setting.title, "New title")
237
310
 
238
- def test_edit_restricted_field_without_permission(self):
311
+ def test_edit_restricted_field_without_field_permission(self):
312
+ # User has edit permission over the setting model, but not the sensitive_email field
239
313
  test_setting = TestPermissionedSiteSetting()
314
+ test_setting.title = "Old title"
240
315
  test_setting.sensitive_email = "test@example.com"
241
316
  test_setting.site = self.default_site
242
317
  test_setting.save()
243
318
  self.user.is_superuser = False
244
319
  self.user.save()
320
+ self.user.user_permissions.add(
321
+ Permission.objects.get(
322
+ content_type__app_label="wagtailadmin", codename="access_admin"
323
+ ),
324
+ Permission.objects.get(
325
+ content_type__app_label="tests",
326
+ codename="change_testpermissionedsitesetting",
327
+ ),
328
+ )
245
329
 
330
+ # GET should provide a form with title but not sensitive_email
246
331
  response = self.get(setting=TestPermissionedSiteSetting)
247
332
  self.assertEqual(response.status_code, 200)
333
+ self.assertIn("title", list(response.context["form"].fields))
248
334
  self.assertNotIn("sensitive_email", list(response.context["form"].fields))
249
335
 
336
+ # POST should allow the title to be set, but not the sensitive_email
250
337
  response = self.post(
251
338
  setting=TestPermissionedSiteSetting,
252
- post_data={"sensitive_email": "test-updated@example.com", "title": "title"},
339
+ post_data={
340
+ "sensitive_email": "test-updated@example.com",
341
+ "title": "New title",
342
+ },
253
343
  )
254
344
  self.assertEqual(response.status_code, 302)
255
345
 
256
346
  test_setting.refresh_from_db()
257
347
  self.assertEqual(test_setting.sensitive_email, "test@example.com")
348
+ self.assertEqual(test_setting.title, "New title")
349
+
350
+ def test_edit_restricted_field_without_any_permission(self):
351
+ # User has no permissions over the setting model, only access to the admin
352
+ test_setting = TestPermissionedSiteSetting()
353
+ test_setting.title = "Old title"
354
+ test_setting.sensitive_email = "test@example.com"
355
+ test_setting.site = self.default_site
356
+ test_setting.save()
357
+ self.user.is_superuser = False
358
+ self.user.save()
359
+ self.user.user_permissions.add(
360
+ Permission.objects.get(
361
+ content_type__app_label="wagtailadmin", codename="access_admin"
362
+ ),
363
+ )
364
+
365
+ # GET should redirect away with permission denied
366
+ response = self.get(setting=TestPermissionedSiteSetting)
367
+ self.assertRedirects(response, status_code=302, expected_url="/admin/")
368
+
369
+ # POST should redirect away with permission denied
370
+ response = self.post(
371
+ setting=TestPermissionedSiteSetting,
372
+ post_data={
373
+ "sensitive_email": "test-updated@example.com",
374
+ "title": "New title",
375
+ },
376
+ )
377
+ self.assertRedirects(response, status_code=302, expected_url="/admin/")
378
+
379
+ # The retrieved setting should be unchanged
380
+ test_setting.refresh_from_db()
381
+ self.assertEqual(test_setting.sensitive_email, "test@example.com")
382
+ self.assertEqual(test_setting.title, "Old title")
258
383
 
259
384
 
260
385
  @override_settings(
@@ -14,6 +14,7 @@ from wagtail.admin.panels import (
14
14
  )
15
15
  from wagtail.admin.views import generic
16
16
  from wagtail.models import Site
17
+ from wagtail.permission_policies import ModelPermissionPolicy
17
18
 
18
19
  from .forms import SiteSwitchForm
19
20
  from .models import BaseGenericSetting, BaseSiteSetting
@@ -81,11 +82,13 @@ def redirect_to_relevant_instance(request, app_name, model_name):
81
82
  class EditView(generic.EditView):
82
83
  template_name = "wagtailsettings/edit.html"
83
84
  error_message = gettext_lazy("The setting could not be saved due to errors.")
85
+ permission_required = "change"
84
86
 
85
87
  def setup(self, request, app_name, model_name, *args, **kwargs):
86
88
  self.app_name = app_name
87
89
  self.model_name = model_name
88
90
  self.model = get_model_from_url_params(app_name, model_name)
91
+ self.permission_policy = ModelPermissionPolicy(self.model)
89
92
  self.pk = kwargs.get(self.pk_url_kwarg)
90
93
  super().setup(request, app_name, model_name, *args, **kwargs)
91
94
 
@@ -20,9 +20,9 @@ msgstr ""
20
20
  "Content-Type: text/plain; charset=UTF-8\n"
21
21
  "Content-Transfer-Encoding: 8bit\n"
22
22
  "Language: be\n"
23
- "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
24
- "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
25
- "(n%100>=11 && n%100<=14)? 2 : 3);\n"
23
+ "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
24
+ "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
25
+ "%100>=11 && n%100<=14)? 2 : 3);\n"
26
26
 
27
27
  msgid "Wagtail simple translation"
28
28
  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: hr_HR\n"
24
- "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
25
- "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
24
+ "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
25
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
26
26
 
27
27
  msgid "Wagtail simple translation"
28
28
  msgstr "Wagtail jednostavno prevođenje"
@@ -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
- "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
26
- "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
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 simple translation"
29
29
  msgstr "Proste tłumaczenie Wagtail"
@@ -23,9 +23,9 @@ msgstr ""
23
23
  "Content-Type: text/plain; charset=UTF-8\n"
24
24
  "Content-Transfer-Encoding: 8bit\n"
25
25
  "Language: ru\n"
26
- "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
27
- "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
28
- "(n%100>=11 && n%100<=14)? 2 : 3);\n"
26
+ "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
27
+ "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
28
+ "%100>=11 && n%100<=14)? 2 : 3);\n"
29
29
 
30
30
  msgid "Wagtail simple translation"
31
31
  msgstr "Простой перевод Wagtail"
@@ -22,8 +22,8 @@ msgstr ""
22
22
  "Content-Type: text/plain; charset=UTF-8\n"
23
23
  "Content-Transfer-Encoding: 8bit\n"
24
24
  "Language: sl\n"
25
- "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
26
- "n%100==4 ? 2 : 3);\n"
25
+ "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
26
+ "%100==4 ? 2 : 3);\n"
27
27
 
28
28
  msgid "Wagtail simple translation"
29
29
  msgstr "Wagtail preprost prevod"
@@ -18,9 +18,9 @@ msgstr ""
18
18
  "Content-Type: text/plain; charset=UTF-8\n"
19
19
  "Content-Transfer-Encoding: 8bit\n"
20
20
  "Language: be\n"
21
- "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
22
- "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
23
- "(n%100>=11 && n%100<=14)? 2 : 3);\n"
21
+ "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
22
+ "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
23
+ "%100>=11 && n%100<=14)? 2 : 3);\n"
24
24
 
25
25
  msgid "Wagtail style guide"
26
26
  msgstr "Кіраўніцтва па стылі Wagtail"
@@ -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
- "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
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 style guide"
24
24
  msgstr "Wagtail stilske smjernice"
@@ -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
- "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
24
- "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
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 style guide"
27
27
  msgstr "Style guide Wagtail"
@@ -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: ru\n"
24
- "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
25
- "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
26
- "(n%100>=11 && n%100<=14)? 2 : 3);\n"
24
+ "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
25
+ "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
26
+ "%100>=11 && n%100<=14)? 2 : 3);\n"
27
27
 
28
28
  msgid "Wagtail style guide"
29
29
  msgstr "Руководство по дизайну Wagtail"
@@ -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: sl\n"
22
- "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
23
- "n%100==4 ? 2 : 3);\n"
22
+ "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
23
+ "%100==4 ? 2 : 3);\n"
24
24
 
25
25
  msgid "Wagtail style guide"
26
26
  msgstr "Vodnik po slogu Wagtail"
@@ -21,3 +21,36 @@ class TestStyleGuide(WagtailTestUtils, TestCase):
21
21
  self.assertContains(response, custom_css)
22
22
  self.assertContains(response, widget_css)
23
23
  self.assertContains(response, widget_js)
24
+
25
+ def test_icons(self):
26
+ def register_icons(icons):
27
+ return icons + [
28
+ "tests/icons/single-quotes.svg", # id='icon-single-quotes'
29
+ ]
30
+
31
+ with self.register_hook("register_icons", register_icons):
32
+ response = self.client.get(reverse("wagtailstyleguide"))
33
+
34
+ self.assertEqual(response.status_code, 200)
35
+ # Should render the icons in the table
36
+ self.assertContains(
37
+ response,
38
+ '<use href="#icon-single-quotes"></use>',
39
+ html=True,
40
+ )
41
+ self.assertContains(
42
+ response,
43
+ "<td>Custom icon with single quotes for the id</td>",
44
+ html=True,
45
+ )
46
+ # Built-in icon, not from the above hook
47
+ self.assertContains(
48
+ response,
49
+ '<use href="#icon-h1"></use>',
50
+ html=True,
51
+ )
52
+ self.assertContains(
53
+ response,
54
+ "<td>Custom icon</td>",
55
+ html=True,
56
+ )
@@ -101,7 +101,10 @@ class ExampleForm(forms.Form):
101
101
  )
102
102
 
103
103
 
104
- icon_id_pattern = re.compile(r"id=\"icon-([a-z0-9-]+)\"")
104
+ # Allow single and double quotes for the ID.
105
+ # For simplicity and readability, we don't enforce the opening
106
+ # and closing quotes to match.
107
+ icon_id_pattern = re.compile(r"""id=["']icon-([a-z0-9-]+)["']""")
105
108
  icon_comment_pattern = re.compile(r"<!--!(.*?)-->")
106
109
 
107
110
 
@@ -18,9 +18,9 @@ msgstr ""
18
18
  "Content-Type: text/plain; charset=UTF-8\n"
19
19
  "Content-Transfer-Encoding: 8bit\n"
20
20
  "Language: be\n"
21
- "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
22
- "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
23
- "(n%100>=11 && n%100<=14)? 2 : 3);\n"
21
+ "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
22
+ "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
23
+ "%100>=11 && n%100<=14)? 2 : 3);\n"
24
24
 
25
25
  msgid "Wagtail table block"
26
26
  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
- "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
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 table block"
25
25
  msgstr "Wagtail tablični blok"
@@ -3,7 +3,7 @@
3
3
  # This file is distributed under the same license as the PACKAGE package.
4
4
  #
5
5
  # Translators:
6
- # Arnar Tumi Þorsteinsson <arnartumi@gmail.com>, 2016,2021
6
+ # Arnar Tumi Þorsteinsson <arnartumi@gmail.com>, 2016,2021,2024
7
7
  # saevarom <saevar@saevar.is>, 2018,2020
8
8
  # saevarom <saevar@saevar.is>, 2018,2020
9
9
  msgid ""
@@ -12,7 +12,8 @@ msgstr ""
12
12
  "Report-Msgid-Bugs-To: \n"
13
13
  "POT-Creation-Date: 2024-05-02 10:04+0100\n"
14
14
  "PO-Revision-Date: 2016-05-11 20:23+0000\n"
15
- "Last-Translator: saevarom <saevar@saevar.is>, 2018,2020\n"
15
+ "Last-Translator: Arnar Tumi Þorsteinsson <arnartumi@gmail.com>, "
16
+ "2016,2021,2024\n"
16
17
  "Language-Team: Icelandic (Iceland) (http://app.transifex.com/torchbox/"
17
18
  "wagtail/language/is_IS/)\n"
18
19
  "MIME-Version: 1.0\n"
@@ -27,11 +28,36 @@ msgstr "Wagtail töflu blokk"
27
28
  msgid "Row header"
28
29
  msgstr "Töfluhaus"
29
30
 
31
+ msgid "Table headers"
32
+ msgstr "Töfluhaus"
33
+
34
+ msgid "Display the first row as a header"
35
+ msgstr "Birta fyrstu röð sem töfluhaus"
36
+
37
+ msgid "Display the first column as a header"
38
+ msgstr "Birta fyrsta dálk sem fyrirsagnadálk"
39
+
30
40
  msgid "Column header"
31
41
  msgstr "Fyrirsagnadálkur"
32
42
 
43
+ msgid "Display the first row AND first column as headers"
44
+ msgstr "Birta fyrstu röð OG fyrsta dálk sem töfluhaus/fyrirsagnadálk"
45
+
46
+ msgid "No headers"
47
+ msgstr "Enginn haus"
48
+
49
+ msgid "Which cells should be displayed as headers?"
50
+ msgstr "Hvaða reitir eiga að birtast sem fyrirsagnareitir?"
51
+
33
52
  msgid "Table caption"
34
53
  msgstr "Töflufyrirsögn"
35
54
 
55
+ msgid ""
56
+ "A heading that identifies the overall topic of the table, and is useful for "
57
+ "screen reader users."
58
+ msgstr ""
59
+ "Fyrirsögn sem lýsir almennu innihaldi töflunnar, og er gagnleg fyrir "
60
+ "notendur skjálesara"
61
+
36
62
  msgid "Table"
37
63
  msgstr "Tafla"
@@ -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
- "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
26
- "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
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 table block"
29
29
  msgstr "Blok tabeli Wagtail"
@@ -24,9 +24,9 @@ msgstr ""
24
24
  "Content-Type: text/plain; charset=UTF-8\n"
25
25
  "Content-Transfer-Encoding: 8bit\n"
26
26
  "Language: ru\n"
27
- "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
28
- "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
29
- "(n%100>=11 && n%100<=14)? 2 : 3);\n"
27
+ "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
28
+ "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
29
+ "%100>=11 && n%100<=14)? 2 : 3);\n"
30
30
 
31
31
  msgid "Wagtail table block"
32
32
  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
- "n%100==4 ? 2 : 3);\n"
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 table block"
25
25
  msgstr "Wagtail Namizni blok"
@@ -20,9 +20,9 @@ msgstr ""
20
20
  "Content-Type: text/plain; charset=UTF-8\n"
21
21
  "Content-Transfer-Encoding: 8bit\n"
22
22
  "Language: be\n"
23
- "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
24
- "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
25
- "(n%100>=11 && n%100<=14)? 2 : 3);\n"
23
+ "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
24
+ "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
25
+ "%100>=11 && n%100<=14)? 2 : 3);\n"
26
26
 
27
27
  msgid "Add column"
28
28
  msgstr "Дадаць калонку"
@@ -5,6 +5,7 @@
5
5
  #
6
6
  # Translators:
7
7
  # saevarom <saevar@saevar.is>, 2021
8
+ # Arnar Tumi Þorsteinsson <arnartumi@gmail.com>, 2024
8
9
  #
9
10
  #, fuzzy
10
11
  msgid ""
@@ -13,7 +14,7 @@ msgstr ""
13
14
  "Report-Msgid-Bugs-To: \n"
14
15
  "POT-Creation-Date: 2024-05-02 10:04+0100\n"
15
16
  "PO-Revision-Date: 2021-10-15 16:05+0000\n"
16
- "Last-Translator: saevarom <saevar@saevar.is>, 2021\n"
17
+ "Last-Translator: Arnar Tumi Þorsteinsson <arnartumi@gmail.com>, 2024\n"
17
18
  "Language-Team: Icelandic (Iceland) (https://app.transifex.com/torchbox/"
18
19
  "teams/8009/is_IS/)\n"
19
20
  "MIME-Version: 1.0\n"
@@ -22,6 +23,16 @@ msgstr ""
22
23
  "Language: is_IS\n"
23
24
  "Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
24
25
 
26
+ msgid "Caption"
27
+ msgstr "Fyrirsögn"
28
+
29
+ msgid ""
30
+ "A heading that identifies the overall topic of the table, and is useful for "
31
+ "screen reader users."
32
+ msgstr ""
33
+ "Fyrirsögn sem lýsir almennu innihaldi töflunnar, og er gagnleg fyrir "
34
+ "notendur skjálesara"
35
+
25
36
  msgid "Add column"
26
37
  msgstr "Nýr dálkur"
27
38
 
@@ -20,9 +20,9 @@ msgstr ""
20
20
  "Content-Type: text/plain; charset=UTF-8\n"
21
21
  "Content-Transfer-Encoding: 8bit\n"
22
22
  "Language: pl\n"
23
- "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && "
24
- "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
25
- "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
23
+ "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
24
+ "%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
25
+ "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
26
26
 
27
27
  msgid "Add column"
28
28
  msgstr "Dodaj kolumnę"