eea.volto.policy 3.5__zip → 4.1__zip

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 (193) hide show
  1. {eea.volto.policy-3.5/eea.volto.policy.egg-info → eea.volto.policy-4.1}/PKG-INFO +11 -1
  2. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/docs/HISTORY.txt +10 -0
  3. eea.volto.policy-4.1/eea/volto/policy/browser/configure.zcml +30 -0
  4. eea.volto.policy-4.1/eea/volto/policy/browser/teaser.py +172 -0
  5. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/configure.zcml +1 -0
  6. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/contentrules/actions.py +1 -1
  7. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/image_scales/adapters.py +2 -2
  8. eea.volto.policy-4.1/eea/volto/policy/locales/zh_TW/LC_MESSAGES/plone.po +0 -0
  9. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/setuphandlers.py +1 -1
  10. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/tests/base.py +1 -1
  11. eea.volto.policy-4.1/eea/volto/policy/version.txt +1 -0
  12. {eea.volto.policy-3.5 → eea.volto.policy-4.1/eea.volto.policy.egg-info}/PKG-INFO +11 -1
  13. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea.volto.policy.egg-info/SOURCES.txt +3 -0
  14. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/setup.py +13 -5
  15. eea.volto.policy-3.5/eea/volto/policy/version.txt +0 -1
  16. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/CONTRIBUTING.md +0 -0
  17. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/MANIFEST.in +0 -0
  18. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/README.rst +0 -0
  19. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/docs/LICENSE.GPL +0 -0
  20. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/docs/LICENSE.txt +0 -0
  21. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/__init__.py +0 -0
  22. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/__init__.py +0 -0
  23. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/README.txt +0 -0
  24. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/__init__.py +0 -0
  25. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/behaviors/__init__.py +0 -0
  26. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/behaviors/configure.zcml +0 -0
  27. /eea.volto.policy-3.5/eea/volto/policy/locales/bg/LC_MESSAGES/eea.po → /eea.volto.policy-4.1/eea/volto/policy/browser/__init__.py +0 -0
  28. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/contentrules/__init__.py +0 -0
  29. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/contentrules/configure.zcml +0 -0
  30. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/image_scales/__init__.py +0 -0
  31. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/image_scales/configure.zcml +0 -0
  32. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/image_scales/indexer.py +0 -0
  33. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/image_scales/interfaces.py +0 -0
  34. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/interfaces.py +0 -0
  35. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/__init__.py +0 -0
  36. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/bg/LC_MESSAGES/eea.mo +0 -0
  37. {eea.volto.policy-3.5/eea/volto/policy/locales/cs → eea.volto.policy-4.1/eea/volto/policy/locales/bg}/LC_MESSAGES/eea.po +0 -0
  38. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/bg/LC_MESSAGES/plone.mo +0 -0
  39. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/bg/LC_MESSAGES/plone.po +0 -0
  40. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/cs/LC_MESSAGES/eea.mo +0 -0
  41. {eea.volto.policy-3.5/eea/volto/policy/locales/da → eea.volto.policy-4.1/eea/volto/policy/locales/cs}/LC_MESSAGES/eea.po +0 -0
  42. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/cs/LC_MESSAGES/plone.mo +0 -0
  43. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/cs/LC_MESSAGES/plone.po +0 -0
  44. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/da/LC_MESSAGES/eea.mo +0 -0
  45. {eea.volto.policy-3.5/eea/volto/policy/locales/de → eea.volto.policy-4.1/eea/volto/policy/locales/da}/LC_MESSAGES/eea.po +0 -0
  46. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/da/LC_MESSAGES/plone.mo +0 -0
  47. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/da/LC_MESSAGES/plone.po +0 -0
  48. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/de/LC_MESSAGES/eea.mo +0 -0
  49. {eea.volto.policy-3.5/eea/volto/policy/locales/el → eea.volto.policy-4.1/eea/volto/policy/locales/de}/LC_MESSAGES/eea.po +0 -0
  50. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/de/LC_MESSAGES/plone.mo +0 -0
  51. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/de/LC_MESSAGES/plone.po +0 -0
  52. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/eea.pot +0 -0
  53. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/el/LC_MESSAGES/eea.mo +0 -0
  54. {eea.volto.policy-3.5/eea/volto/policy/locales/en → eea.volto.policy-4.1/eea/volto/policy/locales/el}/LC_MESSAGES/eea.po +0 -0
  55. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/el/LC_MESSAGES/plone.mo +0 -0
  56. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/el/LC_MESSAGES/plone.po +0 -0
  57. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/en/LC_MESSAGES/eea.mo +0 -0
  58. {eea.volto.policy-3.5/eea/volto/policy/locales/es → eea.volto.policy-4.1/eea/volto/policy/locales/en}/LC_MESSAGES/eea.po +0 -0
  59. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/en/LC_MESSAGES/plone.mo +0 -0
  60. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/en/LC_MESSAGES/plone.po +0 -0
  61. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/es/LC_MESSAGES/eea.mo +0 -0
  62. {eea.volto.policy-3.5/eea/volto/policy/locales/et → eea.volto.policy-4.1/eea/volto/policy/locales/es}/LC_MESSAGES/eea.po +0 -0
  63. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/es/LC_MESSAGES/plone.mo +0 -0
  64. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/es/LC_MESSAGES/plone.po +0 -0
  65. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/et/LC_MESSAGES/eea.mo +0 -0
  66. {eea.volto.policy-3.5/eea/volto/policy/locales/eu → eea.volto.policy-4.1/eea/volto/policy/locales/et}/LC_MESSAGES/eea.po +0 -0
  67. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/et/LC_MESSAGES/plone.mo +0 -0
  68. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/et/LC_MESSAGES/plone.po +0 -0
  69. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/eu/LC_MESSAGES/eea.mo +0 -0
  70. {eea.volto.policy-3.5/eea/volto/policy/locales/fi → eea.volto.policy-4.1/eea/volto/policy/locales/eu}/LC_MESSAGES/eea.po +0 -0
  71. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/eu/LC_MESSAGES/plone.mo +0 -0
  72. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/eu/LC_MESSAGES/plone.po +0 -0
  73. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/fi/LC_MESSAGES/eea.mo +0 -0
  74. {eea.volto.policy-3.5/eea/volto/policy/locales/fr → eea.volto.policy-4.1/eea/volto/policy/locales/fi}/LC_MESSAGES/eea.po +0 -0
  75. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/fi/LC_MESSAGES/plone.mo +0 -0
  76. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/fi/LC_MESSAGES/plone.po +0 -0
  77. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/fr/LC_MESSAGES/eea.mo +0 -0
  78. {eea.volto.policy-3.5/eea/volto/policy/locales/hr → eea.volto.policy-4.1/eea/volto/policy/locales/fr}/LC_MESSAGES/eea.po +0 -0
  79. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/fr/LC_MESSAGES/plone.mo +0 -0
  80. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/fr/LC_MESSAGES/plone.po +0 -0
  81. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/hr/LC_MESSAGES/eea.mo +0 -0
  82. {eea.volto.policy-3.5/eea/volto/policy/locales/hu → eea.volto.policy-4.1/eea/volto/policy/locales/hr}/LC_MESSAGES/eea.po +0 -0
  83. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/hr/LC_MESSAGES/plone.mo +0 -0
  84. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/hr/LC_MESSAGES/plone.po +0 -0
  85. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/hu/LC_MESSAGES/eea.mo +0 -0
  86. {eea.volto.policy-3.5/eea/volto/policy/locales/is → eea.volto.policy-4.1/eea/volto/policy/locales/hu}/LC_MESSAGES/eea.po +0 -0
  87. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/hu/LC_MESSAGES/plone.mo +0 -0
  88. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/hu/LC_MESSAGES/plone.po +0 -0
  89. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/is/LC_MESSAGES/eea.mo +0 -0
  90. {eea.volto.policy-3.5/eea/volto/policy/locales/it → eea.volto.policy-4.1/eea/volto/policy/locales/is}/LC_MESSAGES/eea.po +0 -0
  91. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/is/LC_MESSAGES/plone.mo +0 -0
  92. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/is/LC_MESSAGES/plone.po +0 -0
  93. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/it/LC_MESSAGES/eea.mo +0 -0
  94. {eea.volto.policy-3.5/eea/volto/policy/locales/kl → eea.volto.policy-4.1/eea/volto/policy/locales/it}/LC_MESSAGES/eea.po +0 -0
  95. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/it/LC_MESSAGES/plone.mo +0 -0
  96. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/it/LC_MESSAGES/plone.po +0 -0
  97. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/kl/LC_MESSAGES/eea.mo +0 -0
  98. {eea.volto.policy-3.5/eea/volto/policy/locales/lt → eea.volto.policy-4.1/eea/volto/policy/locales/kl}/LC_MESSAGES/eea.po +0 -0
  99. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/kl/LC_MESSAGES/plone.mo +0 -0
  100. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/kl/LC_MESSAGES/plone.po +0 -0
  101. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/lt/LC_MESSAGES/eea.mo +0 -0
  102. {eea.volto.policy-3.5/eea/volto/policy/locales/lv → eea.volto.policy-4.1/eea/volto/policy/locales/lt}/LC_MESSAGES/eea.po +0 -0
  103. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/lt/LC_MESSAGES/plone.mo +0 -0
  104. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/lt/LC_MESSAGES/plone.po +0 -0
  105. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/lv/LC_MESSAGES/eea.mo +0 -0
  106. {eea.volto.policy-3.5/eea/volto/policy/locales/mt → eea.volto.policy-4.1/eea/volto/policy/locales/lv}/LC_MESSAGES/eea.po +0 -0
  107. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/lv/LC_MESSAGES/plone.mo +0 -0
  108. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/lv/LC_MESSAGES/plone.po +0 -0
  109. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/mt/LC_MESSAGES/eea.mo +0 -0
  110. {eea.volto.policy-3.5/eea/volto/policy/locales/nl → eea.volto.policy-4.1/eea/volto/policy/locales/mt}/LC_MESSAGES/eea.po +0 -0
  111. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/mt/LC_MESSAGES/plone.mo +0 -0
  112. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/mt/LC_MESSAGES/plone.po +0 -0
  113. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/nl/LC_MESSAGES/eea.mo +0 -0
  114. {eea.volto.policy-3.5/eea/volto/policy/locales/no → eea.volto.policy-4.1/eea/volto/policy/locales/nl}/LC_MESSAGES/eea.po +0 -0
  115. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/nl/LC_MESSAGES/plone.mo +0 -0
  116. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/nl/LC_MESSAGES/plone.po +0 -0
  117. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/no/LC_MESSAGES/eea.mo +0 -0
  118. {eea.volto.policy-3.5/eea/volto/policy/locales/pl → eea.volto.policy-4.1/eea/volto/policy/locales/no}/LC_MESSAGES/eea.po +0 -0
  119. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/no/LC_MESSAGES/plone.mo +0 -0
  120. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/no/LC_MESSAGES/plone.po +0 -0
  121. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/pl/LC_MESSAGES/eea.mo +0 -0
  122. {eea.volto.policy-3.5/eea/volto/policy/locales/pt → eea.volto.policy-4.1/eea/volto/policy/locales/pl}/LC_MESSAGES/eea.po +0 -0
  123. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/pl/LC_MESSAGES/plone.mo +0 -0
  124. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/pl/LC_MESSAGES/plone.po +0 -0
  125. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/plone-manual.pot +0 -0
  126. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/pt/LC_MESSAGES/eea.mo +0 -0
  127. {eea.volto.policy-3.5/eea/volto/policy/locales/pt_BR → eea.volto.policy-4.1/eea/volto/policy/locales/pt}/LC_MESSAGES/eea.po +0 -0
  128. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/pt/LC_MESSAGES/plone.mo +0 -0
  129. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/pt/LC_MESSAGES/plone.po +0 -0
  130. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/pt_BR/LC_MESSAGES/eea.mo +0 -0
  131. {eea.volto.policy-3.5/eea/volto/policy/locales/ro → eea.volto.policy-4.1/eea/volto/policy/locales/pt_BR}/LC_MESSAGES/eea.po +0 -0
  132. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/pt_BR/LC_MESSAGES/plone.mo +0 -0
  133. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/pt_BR/LC_MESSAGES/plone.po +0 -0
  134. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/ro/LC_MESSAGES/eea.mo +0 -0
  135. {eea.volto.policy-3.5/eea/volto/policy/locales/ru → eea.volto.policy-4.1/eea/volto/policy/locales/ro}/LC_MESSAGES/eea.po +0 -0
  136. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/ro/LC_MESSAGES/plone.mo +0 -0
  137. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/ro/LC_MESSAGES/plone.po +0 -0
  138. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/ru/LC_MESSAGES/eea.mo +0 -0
  139. {eea.volto.policy-3.5/eea/volto/policy/locales/sk → eea.volto.policy-4.1/eea/volto/policy/locales/ru}/LC_MESSAGES/eea.po +0 -0
  140. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/ru/LC_MESSAGES/plone.mo +0 -0
  141. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/ru/LC_MESSAGES/plone.po +0 -0
  142. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/sk/LC_MESSAGES/eea.mo +0 -0
  143. {eea.volto.policy-3.5/eea/volto/policy/locales/sl → eea.volto.policy-4.1/eea/volto/policy/locales/sk}/LC_MESSAGES/eea.po +0 -0
  144. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/sk/LC_MESSAGES/plone.mo +0 -0
  145. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/sk/LC_MESSAGES/plone.po +0 -0
  146. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/sl/LC_MESSAGES/eea.mo +0 -0
  147. {eea.volto.policy-3.5/eea/volto/policy/locales/sv → eea.volto.policy-4.1/eea/volto/policy/locales/sl}/LC_MESSAGES/eea.po +0 -0
  148. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/sl/LC_MESSAGES/plone.mo +0 -0
  149. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/sl/LC_MESSAGES/plone.po +0 -0
  150. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/sv/LC_MESSAGES/eea.mo +0 -0
  151. {eea.volto.policy-3.5/eea/volto/policy/locales/tr → eea.volto.policy-4.1/eea/volto/policy/locales/sv}/LC_MESSAGES/eea.po +0 -0
  152. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/sv/LC_MESSAGES/plone.mo +0 -0
  153. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/sv/LC_MESSAGES/plone.po +0 -0
  154. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/tr/LC_MESSAGES/eea.mo +0 -0
  155. {eea.volto.policy-3.5/eea/volto/policy/locales/zh_TW → eea.volto.policy-4.1/eea/volto/policy/locales/tr}/LC_MESSAGES/eea.po +0 -0
  156. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/tr/LC_MESSAGES/plone.mo +0 -0
  157. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/tr/LC_MESSAGES/plone.po +0 -0
  158. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/update.sh +0 -0
  159. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/zh_TW/LC_MESSAGES/eea.mo +0 -0
  160. /eea.volto.policy-3.5/eea/volto/policy/locales/zh_TW/LC_MESSAGES/plone.po → /eea.volto.policy-4.1/eea/volto/policy/locales/zh_TW/LC_MESSAGES/eea.po +0 -0
  161. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/locales/zh_TW/LC_MESSAGES/plone.mo +0 -0
  162. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/overrides.zcml +0 -0
  163. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/profiles/default/browserlayer.xml +0 -0
  164. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/profiles/default/catalog.xml +0 -0
  165. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/profiles/default/contentrules.xml +0 -0
  166. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/profiles/default/metadata.xml +0 -0
  167. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/profiles/default/registry.xml +0 -0
  168. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/profiles/uninstall/browserlayer.xml +0 -0
  169. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/profiles.zcml +0 -0
  170. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/__init__.py +0 -0
  171. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/configure.zcml +0 -0
  172. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/deserializer/__init__.py +0 -0
  173. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/deserializer/configure.zcml +0 -0
  174. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/deserializer/dxfields.py +0 -0
  175. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/navigation/configure.zcml +0 -0
  176. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/navigation/navigation.py +0 -0
  177. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/serializer/__init__.py +0 -0
  178. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/serializer/configure.zcml +0 -0
  179. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/serializer/dxfields.py +0 -0
  180. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/restapi/serializer/summary.py +0 -0
  181. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/tests/__init__.py +0 -0
  182. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/tests/test_doctests.py +0 -0
  183. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/upgrades/__init__.py +0 -0
  184. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/upgrades/configure.zcml +0 -0
  185. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/vocabularies/__init__.py +0 -0
  186. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea/volto/policy/vocabularies/configure.zcml +0 -0
  187. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea.volto.policy.egg-info/dependency_links.txt +0 -0
  188. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea.volto.policy.egg-info/entry_points.txt +0 -0
  189. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea.volto.policy.egg-info/namespace_packages.txt +0 -0
  190. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea.volto.policy.egg-info/not-zip-safe +0 -0
  191. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea.volto.policy.egg-info/requires.txt +0 -0
  192. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/eea.volto.policy.egg-info/top_level.txt +0 -0
  193. {eea.volto.policy-3.5 → eea.volto.policy-4.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: eea.volto.policy
3
- Version: 3.5
3
+ Version: 4.1
4
4
  Summary: An add-on for Plone
5
5
  Home-page: https://github.com/eea/eea.volto.policy
6
6
  Author: European Environment Agency: IDM2 A-Team
@@ -128,6 +128,16 @@ EEA_ - European Environment Agency (EU)
128
128
  Changelog
129
129
  =========
130
130
 
131
+ 4.1 - (2024-05-23)
132
+ ---------------------------
133
+ * Bug fix: Fix teaserGrid to gridBlock to transaction.commit every 100 items
134
+ [avoinea - refs #265726]
135
+
136
+ 4.0 - (2024-05-20)
137
+ ---------------------------
138
+ * Feature: Migrate teaserGrid to gridBlock structure from Volto 17 core
139
+ [avoinea - refs #265726]
140
+
131
141
  3.5 - (2024-05-14)
132
142
  ---------------------------
133
143
  * Change: feat(serializer): added effective to the default_metadata_fields
@@ -1,6 +1,16 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 4.1 - (2024-05-23)
5
+ ---------------------------
6
+ * Bug fix: Fix teaserGrid to gridBlock to transaction.commit every 100 items
7
+ [avoinea - refs #265726]
8
+
9
+ 4.0 - (2024-05-20)
10
+ ---------------------------
11
+ * Feature: Migrate teaserGrid to gridBlock structure from Volto 17 core
12
+ [avoinea - refs #265726]
13
+
4
14
  3.5 - (2024-05-14)
5
15
  ---------------------------
6
16
  * Change: feat(serializer): added effective to the default_metadata_fields
@@ -0,0 +1,30 @@
1
+ <configure
2
+ xmlns="http://namespaces.zope.org/zope"
3
+ xmlns:browser="http://namespaces.zope.org/browser"
4
+ i18n_domain="eea">
5
+
6
+ <browser:page
7
+ name="teaser-layout-migrate"
8
+ for="Products.CMFPlone.interfaces.IPloneSiteRoot"
9
+ layer="eea.volto.policy.interfaces.IEeaVoltoPolicyLayer"
10
+ class=".teaser.TeaserMigrateLayout"
11
+ permission="cmf.ManagePortal"
12
+ />
13
+
14
+ <browser:page
15
+ name="teaser-migrate"
16
+ for="Products.CMFPlone.interfaces.IPloneSiteRoot"
17
+ layer="eea.volto.policy.interfaces.IEeaVoltoPolicyLayer"
18
+ class=".teaser.TeaserMigrateSite"
19
+ permission="cmf.ManagePortal"
20
+ />
21
+
22
+ <browser:page
23
+ name="teaser-migrate"
24
+ for="Products.CMFCore.interfaces.IContentish"
25
+ layer="eea.volto.policy.interfaces.IEeaVoltoPolicyLayer"
26
+ class=".teaser.TeaserMigrateContent"
27
+ permission="cmf.ManagePortal"
28
+ />
29
+
30
+ </configure>
@@ -0,0 +1,172 @@
1
+ """ Migrate teaser block from teaserGrid to Volto 17 gridBlock
2
+ """
3
+ # pylint: disable=line-too-long
4
+ import copy
5
+ import logging
6
+ import transaction
7
+ from Products.Five.browser import BrowserView
8
+ from Products.statusmessages.interfaces import IStatusMessage
9
+ from Products.CMFPlone.interfaces import IPloneSiteRoot
10
+ from plone import api
11
+ from plone.protect.interfaces import IDisableCSRFProtection
12
+ from plone.restapi.blocks import visit_blocks
13
+ from plone.restapi.types.utils import update_field, get_info_for_field
14
+ from plone.restapi.types.utils import serializeSchema
15
+ from zope.component import queryMultiAdapter
16
+ from zope.component import queryUtility
17
+ from zope.interface import alsoProvides
18
+ from zope.schema.interfaces import IVocabularyFactory
19
+ from zope.lifecycleevent import modified
20
+ from zExceptions import Forbidden
21
+ logger = logging.getLogger("eea.volto.policy")
22
+
23
+
24
+ class TeaserMigrateContent(BrowserView):
25
+ """Migration of teaserGrid to gridBlock"""
26
+
27
+ def convert(self, block_data):
28
+ """Convert block_data to gridBlock"""
29
+ grid_block = copy.deepcopy(block_data)
30
+
31
+ grid_block["@type"] = "gridBlock"
32
+ columns = block_data.get("columns", [])
33
+ grid_block["blocks_layout"] = {
34
+ "items": [column["id"] for column in columns]
35
+ }
36
+ grid_block["blocks"] = {x["id"]: x for x in columns}
37
+ try:
38
+ del grid_block["columns"]
39
+ except KeyError:
40
+ logger.exception("No columns found in %s",
41
+ self.context.absolute_url())
42
+ return grid_block
43
+
44
+ def migrate(self):
45
+ """Migrate teaserGrid to gridBlock"""
46
+ count = 0
47
+ blocks = getattr(self.context, "blocks", {})
48
+ for block in visit_blocks(self.context, blocks):
49
+ # we have found a teaserGrid
50
+ if block.get("@type", False) and block["@type"] == "teaserGrid":
51
+ new_block = self.convert(block)
52
+ block.clear()
53
+ block.update(new_block)
54
+ count += 1
55
+ if count:
56
+ logger.info(
57
+ "Migrated %s teaserBlock to gridBlock for %s",
58
+ count,
59
+ self.context.absolute_url(),
60
+ )
61
+ modified(self.context)
62
+ return count
63
+
64
+ def __call__(self):
65
+ # Disable CSRF protection
66
+ alsoProvides(self.request, IDisableCSRFProtection)
67
+ count = self.migrate()
68
+ IStatusMessage(self.request).addStatusMessage(
69
+ f"Migrated {count} Teaser Blocks")
70
+ return self.request.response.redirect(self.context.absolute_url())
71
+
72
+
73
+ class TeaserMigrateSite(TeaserMigrateContent):
74
+ """Migrate Teaser Blocks to Volto 17"""
75
+
76
+ def migrate(self):
77
+ """Migrate Teaser Blocks to Volto 17"""
78
+ brains = api.content.find(
79
+ context=self.context,
80
+ object_provides="plone.restapi.behaviors.IBlocks"
81
+ )
82
+
83
+ count = 0
84
+ total = len(brains)
85
+ for idx, brain in enumerate(brains):
86
+ obj = brain.getObject()
87
+ if IPloneSiteRoot.providedBy(obj):
88
+ if super().migrate():
89
+ count += 1
90
+ continue
91
+ view = queryMultiAdapter(
92
+ (obj, self.request), name="teaser-migrate")
93
+ if view.migrate():
94
+ count += 1
95
+ if idx % 100 == 0:
96
+ transaction.commit()
97
+ logger.info("Progress %s of %s. Migrated %s",
98
+ idx, total, count)
99
+ return count
100
+
101
+ def __call__(self):
102
+ alsoProvides(self.request, IDisableCSRFProtection)
103
+ count = self.migrate()
104
+ IStatusMessage(self.request).addStatusMessage(
105
+ f"Migrated {count} Teaser Blocks"
106
+ )
107
+ return self.request.response.redirect(self.context.absolute_url())
108
+
109
+
110
+ class TeaserMigrateLayout(TeaserMigrateSite):
111
+ """ Migrate Teaser Blocks in DX Layout """
112
+
113
+ def migrate_type(self, context):
114
+ """Migrate teaserGrid to gridBlock"""
115
+ count = 0
116
+ try:
117
+ blocks = get_info_for_field(context, self.request, "blocks")
118
+ except (AttributeError, Forbidden):
119
+ # no blocks field
120
+ return count
121
+ else:
122
+ blocks = blocks.get("default", {})
123
+
124
+ for block in visit_blocks(context, blocks):
125
+ # we have found a teaserGrid
126
+ if block.get("@type", False) and block["@type"] == "teaserGrid":
127
+ new_block = self.convert(block)
128
+ block.clear()
129
+ block.update(new_block)
130
+ count += 1
131
+ if count:
132
+ update_field(context, self.request, {
133
+ "id": "blocks",
134
+ "default": blocks,
135
+ })
136
+ serializeSchema(context.schema)
137
+ return count
138
+
139
+ def migrate(self):
140
+ """ Migrate Teaser Blocks in DX Layout """
141
+ count = 0
142
+ ctypes = queryUtility(
143
+ IVocabularyFactory,
144
+ name="plone.app.vocabularies.ReallyUserFriendlyTypes"
145
+ )
146
+ dtool = queryMultiAdapter(
147
+ (self.context, self.request), name="dexterity-types")
148
+ brains = ctypes(self.context)
149
+ total = len(brains)
150
+ for idx, ctype in enumerate(brains):
151
+ cid = ctype.value
152
+ try:
153
+ dtype = dtool.publishTraverse(self.request, cid)
154
+ except KeyError as err:
155
+ # KeyError: 'Discussion Item'
156
+ logger.exception(err)
157
+ continue
158
+ try:
159
+ if self.migrate_type(dtype):
160
+ count += 1
161
+ except AttributeError as err:
162
+ logger.exception("Could not migrate %s: %s", cid, err)
163
+ logger.info("Progress %s of %s. Migrated %s", idx, total, count)
164
+ return count
165
+
166
+ def __call__(self):
167
+ alsoProvides(self.request, IDisableCSRFProtection)
168
+ count = self.migrate()
169
+ IStatusMessage(self.request).addStatusMessage(
170
+ f"Migrated content-types layout {count} teaserGrid to gridBlock"
171
+ )
172
+ return self.request.response.redirect(self.context.absolute_url())
@@ -10,6 +10,7 @@
10
10
  <include package="plone.volto" />
11
11
  <include file="profiles.zcml" />
12
12
 
13
+ <include package=".browser" />
13
14
  <include package=".behaviors" />
14
15
  <include package=".contentrules" />
15
16
  <include package=".restapi" />
@@ -34,7 +34,7 @@ class SetPublicationDateToNullAction(SimpleItem):
34
34
 
35
35
  @implementer(IExecutable)
36
36
  @adapter(Interface, ISetPublicationDateToNullAction, Interface)
37
- class SetPublicationDateToNullExecutor(object):
37
+ class SetPublicationDateToNullExecutor:
38
38
  """Set Publication Date to null executor"""
39
39
 
40
40
  def __init__(self, context, element, event):
@@ -26,7 +26,7 @@ from eea.volto.policy.image_scales.interfaces import (
26
26
 
27
27
  @implementer(IImageScalesAdapter)
28
28
  @adapter(IDexterityContent, Interface)
29
- class ImageScales(object):
29
+ class ImageScales:
30
30
  """
31
31
  Adapter for getting image scales
32
32
  """
@@ -74,7 +74,7 @@ def _get_scale_infos():
74
74
 
75
75
  @implementer(IImageScalesFieldAdapter)
76
76
  @adapter(INamedImageField, IDexterityContent, Interface)
77
- class ImageFieldScales(object):
77
+ class ImageFieldScales:
78
78
  """
79
79
  Image scale serializer
80
80
  """
@@ -11,7 +11,7 @@ logger = logging.getLogger("eea.volto.policy")
11
11
 
12
12
 
13
13
  @implementer(INonInstallable)
14
- class HiddenProfiles(object):
14
+ class HiddenProfiles:
15
15
  """ Hidden profiles
16
16
  """
17
17
 
@@ -7,6 +7,7 @@ from plone.app.testing import PloneSandboxLayer
7
7
  from plone.app.testing import applyProfile
8
8
  from plone.app.testing import FunctionalTesting
9
9
  from plone.app.testing import setRoles
10
+ import eea.volto.policy
10
11
 
11
12
 
12
13
  class EEAFixture(PloneSandboxLayer):
@@ -15,7 +16,6 @@ class EEAFixture(PloneSandboxLayer):
15
16
  def setUpZope(self, app, configurationContext):
16
17
  """ Setup Zope
17
18
  """
18
- import eea.volto.policy
19
19
  self.loadZCML(package=eea.volto.policy)
20
20
  z2.installProduct(app, 'eea.volto.policy')
21
21
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: eea.volto.policy
3
- Version: 3.5
3
+ Version: 4.1
4
4
  Summary: An add-on for Plone
5
5
  Home-page: https://github.com/eea/eea.volto.policy
6
6
  Author: European Environment Agency: IDM2 A-Team
@@ -128,6 +128,16 @@ EEA_ - European Environment Agency (EU)
128
128
  Changelog
129
129
  =========
130
130
 
131
+ 4.1 - (2024-05-23)
132
+ ---------------------------
133
+ * Bug fix: Fix teaserGrid to gridBlock to transaction.commit every 100 items
134
+ [avoinea - refs #265726]
135
+
136
+ 4.0 - (2024-05-20)
137
+ ---------------------------
138
+ * Feature: Migrate teaserGrid to gridBlock structure from Volto 17 core
139
+ [avoinea - refs #265726]
140
+
131
141
  3.5 - (2024-05-14)
132
142
  ---------------------------
133
143
  * Change: feat(serializer): added effective to the default_metadata_fields
@@ -25,6 +25,9 @@ eea/volto/policy/setuphandlers.py
25
25
  eea/volto/policy/version.txt
26
26
  eea/volto/policy/behaviors/__init__.py
27
27
  eea/volto/policy/behaviors/configure.zcml
28
+ eea/volto/policy/browser/__init__.py
29
+ eea/volto/policy/browser/configure.zcml
30
+ eea/volto/policy/browser/teaser.py
28
31
  eea/volto/policy/contentrules/__init__.py
29
32
  eea/volto/policy/contentrules/actions.py
30
33
  eea/volto/policy/contentrules/configure.zcml
@@ -6,17 +6,25 @@ from setuptools import setup, find_packages
6
6
 
7
7
  NAME = 'eea.volto.policy'
8
8
  PATH = NAME.split('.') + ['version.txt']
9
- VERSION = open(join(*PATH)).read().strip()
9
+ VERSION = ""
10
+ with open(join(*PATH), "r", encoding="utf-8") as version_file:
11
+ VERSION = version_file.read().strip()
12
+
13
+ LONG_DESCRIPTION = ""
14
+ with open("README.rst", "r", encoding="utf-8") as readme_file:
15
+ LONG_DESCRIPTION = readme_file.read()
16
+
17
+ with open(os.path.join("docs", "HISTORY.txt"),
18
+ "r", encoding="utf-8") as hfile:
19
+ LONG_DESCRIPTION += "\n" + hfile.read()
20
+
10
21
 
11
22
  setup(
12
23
  name=NAME,
13
24
  version=VERSION,
14
25
  description="An add-on for Plone",
15
26
  long_description_content_type="text/x-rst",
16
- long_description=(
17
- open("README.rst").read() + "\n" +
18
- open(os.path.join("docs", "HISTORY.txt")).read()
19
- ),
27
+ long_description=LONG_DESCRIPTION,
20
28
  classifiers=[
21
29
  "Environment :: Web Environment",
22
30
  "Framework :: Plone",
@@ -1 +0,0 @@
1
- 3.5
File without changes