eea.volto.policy 3.4__zip → 4.0__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.4/eea.volto.policy.egg-info → eea.volto.policy-4.0}/PKG-INFO +11 -1
  2. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/docs/HISTORY.txt +10 -0
  3. eea.volto.policy-4.0/eea/volto/policy/browser/configure.zcml +30 -0
  4. eea.volto.policy-4.0/eea/volto/policy/browser/teaser.py +172 -0
  5. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/configure.zcml +1 -0
  6. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/contentrules/actions.py +1 -1
  7. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/image_scales/adapters.py +2 -2
  8. eea.volto.policy-4.0/eea/volto/policy/locales/zh_TW/LC_MESSAGES/plone.po +0 -0
  9. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/serializer/configure.zcml +4 -0
  10. eea.volto.policy-4.0/eea/volto/policy/restapi/serializer/summary.py +30 -0
  11. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/setuphandlers.py +1 -1
  12. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/tests/base.py +1 -1
  13. eea.volto.policy-4.0/eea/volto/policy/version.txt +1 -0
  14. {eea.volto.policy-3.4 → eea.volto.policy-4.0/eea.volto.policy.egg-info}/PKG-INFO +11 -1
  15. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea.volto.policy.egg-info/SOURCES.txt +4 -0
  16. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/setup.py +13 -5
  17. eea.volto.policy-3.4/eea/volto/policy/version.txt +0 -1
  18. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/CONTRIBUTING.md +0 -0
  19. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/MANIFEST.in +0 -0
  20. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/README.rst +0 -0
  21. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/docs/LICENSE.GPL +0 -0
  22. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/docs/LICENSE.txt +0 -0
  23. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/__init__.py +0 -0
  24. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/__init__.py +0 -0
  25. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/README.txt +0 -0
  26. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/__init__.py +0 -0
  27. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/behaviors/__init__.py +0 -0
  28. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/behaviors/configure.zcml +0 -0
  29. /eea.volto.policy-3.4/eea/volto/policy/locales/bg/LC_MESSAGES/eea.po → /eea.volto.policy-4.0/eea/volto/policy/browser/__init__.py +0 -0
  30. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/contentrules/__init__.py +0 -0
  31. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/contentrules/configure.zcml +0 -0
  32. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/image_scales/__init__.py +0 -0
  33. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/image_scales/configure.zcml +0 -0
  34. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/image_scales/indexer.py +0 -0
  35. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/image_scales/interfaces.py +0 -0
  36. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/interfaces.py +0 -0
  37. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/__init__.py +0 -0
  38. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/bg/LC_MESSAGES/eea.mo +0 -0
  39. {eea.volto.policy-3.4/eea/volto/policy/locales/cs → eea.volto.policy-4.0/eea/volto/policy/locales/bg}/LC_MESSAGES/eea.po +0 -0
  40. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/bg/LC_MESSAGES/plone.mo +0 -0
  41. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/bg/LC_MESSAGES/plone.po +0 -0
  42. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/cs/LC_MESSAGES/eea.mo +0 -0
  43. {eea.volto.policy-3.4/eea/volto/policy/locales/da → eea.volto.policy-4.0/eea/volto/policy/locales/cs}/LC_MESSAGES/eea.po +0 -0
  44. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/cs/LC_MESSAGES/plone.mo +0 -0
  45. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/cs/LC_MESSAGES/plone.po +0 -0
  46. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/da/LC_MESSAGES/eea.mo +0 -0
  47. {eea.volto.policy-3.4/eea/volto/policy/locales/de → eea.volto.policy-4.0/eea/volto/policy/locales/da}/LC_MESSAGES/eea.po +0 -0
  48. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/da/LC_MESSAGES/plone.mo +0 -0
  49. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/da/LC_MESSAGES/plone.po +0 -0
  50. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/de/LC_MESSAGES/eea.mo +0 -0
  51. {eea.volto.policy-3.4/eea/volto/policy/locales/el → eea.volto.policy-4.0/eea/volto/policy/locales/de}/LC_MESSAGES/eea.po +0 -0
  52. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/de/LC_MESSAGES/plone.mo +0 -0
  53. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/de/LC_MESSAGES/plone.po +0 -0
  54. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/eea.pot +0 -0
  55. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/el/LC_MESSAGES/eea.mo +0 -0
  56. {eea.volto.policy-3.4/eea/volto/policy/locales/en → eea.volto.policy-4.0/eea/volto/policy/locales/el}/LC_MESSAGES/eea.po +0 -0
  57. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/el/LC_MESSAGES/plone.mo +0 -0
  58. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/el/LC_MESSAGES/plone.po +0 -0
  59. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/en/LC_MESSAGES/eea.mo +0 -0
  60. {eea.volto.policy-3.4/eea/volto/policy/locales/es → eea.volto.policy-4.0/eea/volto/policy/locales/en}/LC_MESSAGES/eea.po +0 -0
  61. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/en/LC_MESSAGES/plone.mo +0 -0
  62. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/en/LC_MESSAGES/plone.po +0 -0
  63. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/es/LC_MESSAGES/eea.mo +0 -0
  64. {eea.volto.policy-3.4/eea/volto/policy/locales/et → eea.volto.policy-4.0/eea/volto/policy/locales/es}/LC_MESSAGES/eea.po +0 -0
  65. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/es/LC_MESSAGES/plone.mo +0 -0
  66. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/es/LC_MESSAGES/plone.po +0 -0
  67. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/et/LC_MESSAGES/eea.mo +0 -0
  68. {eea.volto.policy-3.4/eea/volto/policy/locales/eu → eea.volto.policy-4.0/eea/volto/policy/locales/et}/LC_MESSAGES/eea.po +0 -0
  69. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/et/LC_MESSAGES/plone.mo +0 -0
  70. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/et/LC_MESSAGES/plone.po +0 -0
  71. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/eu/LC_MESSAGES/eea.mo +0 -0
  72. {eea.volto.policy-3.4/eea/volto/policy/locales/fi → eea.volto.policy-4.0/eea/volto/policy/locales/eu}/LC_MESSAGES/eea.po +0 -0
  73. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/eu/LC_MESSAGES/plone.mo +0 -0
  74. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/eu/LC_MESSAGES/plone.po +0 -0
  75. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/fi/LC_MESSAGES/eea.mo +0 -0
  76. {eea.volto.policy-3.4/eea/volto/policy/locales/fr → eea.volto.policy-4.0/eea/volto/policy/locales/fi}/LC_MESSAGES/eea.po +0 -0
  77. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/fi/LC_MESSAGES/plone.mo +0 -0
  78. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/fi/LC_MESSAGES/plone.po +0 -0
  79. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/fr/LC_MESSAGES/eea.mo +0 -0
  80. {eea.volto.policy-3.4/eea/volto/policy/locales/hr → eea.volto.policy-4.0/eea/volto/policy/locales/fr}/LC_MESSAGES/eea.po +0 -0
  81. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/fr/LC_MESSAGES/plone.mo +0 -0
  82. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/fr/LC_MESSAGES/plone.po +0 -0
  83. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/hr/LC_MESSAGES/eea.mo +0 -0
  84. {eea.volto.policy-3.4/eea/volto/policy/locales/hu → eea.volto.policy-4.0/eea/volto/policy/locales/hr}/LC_MESSAGES/eea.po +0 -0
  85. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/hr/LC_MESSAGES/plone.mo +0 -0
  86. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/hr/LC_MESSAGES/plone.po +0 -0
  87. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/hu/LC_MESSAGES/eea.mo +0 -0
  88. {eea.volto.policy-3.4/eea/volto/policy/locales/is → eea.volto.policy-4.0/eea/volto/policy/locales/hu}/LC_MESSAGES/eea.po +0 -0
  89. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/hu/LC_MESSAGES/plone.mo +0 -0
  90. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/hu/LC_MESSAGES/plone.po +0 -0
  91. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/is/LC_MESSAGES/eea.mo +0 -0
  92. {eea.volto.policy-3.4/eea/volto/policy/locales/it → eea.volto.policy-4.0/eea/volto/policy/locales/is}/LC_MESSAGES/eea.po +0 -0
  93. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/is/LC_MESSAGES/plone.mo +0 -0
  94. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/is/LC_MESSAGES/plone.po +0 -0
  95. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/it/LC_MESSAGES/eea.mo +0 -0
  96. {eea.volto.policy-3.4/eea/volto/policy/locales/kl → eea.volto.policy-4.0/eea/volto/policy/locales/it}/LC_MESSAGES/eea.po +0 -0
  97. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/it/LC_MESSAGES/plone.mo +0 -0
  98. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/it/LC_MESSAGES/plone.po +0 -0
  99. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/kl/LC_MESSAGES/eea.mo +0 -0
  100. {eea.volto.policy-3.4/eea/volto/policy/locales/lt → eea.volto.policy-4.0/eea/volto/policy/locales/kl}/LC_MESSAGES/eea.po +0 -0
  101. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/kl/LC_MESSAGES/plone.mo +0 -0
  102. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/kl/LC_MESSAGES/plone.po +0 -0
  103. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/lt/LC_MESSAGES/eea.mo +0 -0
  104. {eea.volto.policy-3.4/eea/volto/policy/locales/lv → eea.volto.policy-4.0/eea/volto/policy/locales/lt}/LC_MESSAGES/eea.po +0 -0
  105. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/lt/LC_MESSAGES/plone.mo +0 -0
  106. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/lt/LC_MESSAGES/plone.po +0 -0
  107. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/lv/LC_MESSAGES/eea.mo +0 -0
  108. {eea.volto.policy-3.4/eea/volto/policy/locales/mt → eea.volto.policy-4.0/eea/volto/policy/locales/lv}/LC_MESSAGES/eea.po +0 -0
  109. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/lv/LC_MESSAGES/plone.mo +0 -0
  110. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/lv/LC_MESSAGES/plone.po +0 -0
  111. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/mt/LC_MESSAGES/eea.mo +0 -0
  112. {eea.volto.policy-3.4/eea/volto/policy/locales/nl → eea.volto.policy-4.0/eea/volto/policy/locales/mt}/LC_MESSAGES/eea.po +0 -0
  113. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/mt/LC_MESSAGES/plone.mo +0 -0
  114. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/mt/LC_MESSAGES/plone.po +0 -0
  115. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/nl/LC_MESSAGES/eea.mo +0 -0
  116. {eea.volto.policy-3.4/eea/volto/policy/locales/no → eea.volto.policy-4.0/eea/volto/policy/locales/nl}/LC_MESSAGES/eea.po +0 -0
  117. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/nl/LC_MESSAGES/plone.mo +0 -0
  118. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/nl/LC_MESSAGES/plone.po +0 -0
  119. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/no/LC_MESSAGES/eea.mo +0 -0
  120. {eea.volto.policy-3.4/eea/volto/policy/locales/pl → eea.volto.policy-4.0/eea/volto/policy/locales/no}/LC_MESSAGES/eea.po +0 -0
  121. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/no/LC_MESSAGES/plone.mo +0 -0
  122. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/no/LC_MESSAGES/plone.po +0 -0
  123. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/pl/LC_MESSAGES/eea.mo +0 -0
  124. {eea.volto.policy-3.4/eea/volto/policy/locales/pt → eea.volto.policy-4.0/eea/volto/policy/locales/pl}/LC_MESSAGES/eea.po +0 -0
  125. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/pl/LC_MESSAGES/plone.mo +0 -0
  126. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/pl/LC_MESSAGES/plone.po +0 -0
  127. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/plone-manual.pot +0 -0
  128. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/pt/LC_MESSAGES/eea.mo +0 -0
  129. {eea.volto.policy-3.4/eea/volto/policy/locales/pt_BR → eea.volto.policy-4.0/eea/volto/policy/locales/pt}/LC_MESSAGES/eea.po +0 -0
  130. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/pt/LC_MESSAGES/plone.mo +0 -0
  131. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/pt/LC_MESSAGES/plone.po +0 -0
  132. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/pt_BR/LC_MESSAGES/eea.mo +0 -0
  133. {eea.volto.policy-3.4/eea/volto/policy/locales/ro → eea.volto.policy-4.0/eea/volto/policy/locales/pt_BR}/LC_MESSAGES/eea.po +0 -0
  134. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/pt_BR/LC_MESSAGES/plone.mo +0 -0
  135. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/pt_BR/LC_MESSAGES/plone.po +0 -0
  136. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/ro/LC_MESSAGES/eea.mo +0 -0
  137. {eea.volto.policy-3.4/eea/volto/policy/locales/ru → eea.volto.policy-4.0/eea/volto/policy/locales/ro}/LC_MESSAGES/eea.po +0 -0
  138. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/ro/LC_MESSAGES/plone.mo +0 -0
  139. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/ro/LC_MESSAGES/plone.po +0 -0
  140. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/ru/LC_MESSAGES/eea.mo +0 -0
  141. {eea.volto.policy-3.4/eea/volto/policy/locales/sk → eea.volto.policy-4.0/eea/volto/policy/locales/ru}/LC_MESSAGES/eea.po +0 -0
  142. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/ru/LC_MESSAGES/plone.mo +0 -0
  143. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/ru/LC_MESSAGES/plone.po +0 -0
  144. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/sk/LC_MESSAGES/eea.mo +0 -0
  145. {eea.volto.policy-3.4/eea/volto/policy/locales/sl → eea.volto.policy-4.0/eea/volto/policy/locales/sk}/LC_MESSAGES/eea.po +0 -0
  146. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/sk/LC_MESSAGES/plone.mo +0 -0
  147. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/sk/LC_MESSAGES/plone.po +0 -0
  148. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/sl/LC_MESSAGES/eea.mo +0 -0
  149. {eea.volto.policy-3.4/eea/volto/policy/locales/sv → eea.volto.policy-4.0/eea/volto/policy/locales/sl}/LC_MESSAGES/eea.po +0 -0
  150. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/sl/LC_MESSAGES/plone.mo +0 -0
  151. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/sl/LC_MESSAGES/plone.po +0 -0
  152. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/sv/LC_MESSAGES/eea.mo +0 -0
  153. {eea.volto.policy-3.4/eea/volto/policy/locales/tr → eea.volto.policy-4.0/eea/volto/policy/locales/sv}/LC_MESSAGES/eea.po +0 -0
  154. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/sv/LC_MESSAGES/plone.mo +0 -0
  155. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/sv/LC_MESSAGES/plone.po +0 -0
  156. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/tr/LC_MESSAGES/eea.mo +0 -0
  157. {eea.volto.policy-3.4/eea/volto/policy/locales/zh_TW → eea.volto.policy-4.0/eea/volto/policy/locales/tr}/LC_MESSAGES/eea.po +0 -0
  158. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/tr/LC_MESSAGES/plone.mo +0 -0
  159. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/tr/LC_MESSAGES/plone.po +0 -0
  160. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/update.sh +0 -0
  161. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/zh_TW/LC_MESSAGES/eea.mo +0 -0
  162. /eea.volto.policy-3.4/eea/volto/policy/locales/zh_TW/LC_MESSAGES/plone.po → /eea.volto.policy-4.0/eea/volto/policy/locales/zh_TW/LC_MESSAGES/eea.po +0 -0
  163. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/locales/zh_TW/LC_MESSAGES/plone.mo +0 -0
  164. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/overrides.zcml +0 -0
  165. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/profiles/default/browserlayer.xml +0 -0
  166. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/profiles/default/catalog.xml +0 -0
  167. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/profiles/default/contentrules.xml +0 -0
  168. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/profiles/default/metadata.xml +0 -0
  169. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/profiles/default/registry.xml +0 -0
  170. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/profiles/uninstall/browserlayer.xml +0 -0
  171. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/profiles.zcml +0 -0
  172. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/__init__.py +0 -0
  173. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/configure.zcml +0 -0
  174. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/deserializer/__init__.py +0 -0
  175. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/deserializer/configure.zcml +0 -0
  176. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/deserializer/dxfields.py +0 -0
  177. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/navigation/configure.zcml +0 -0
  178. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/navigation/navigation.py +0 -0
  179. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/serializer/__init__.py +0 -0
  180. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/restapi/serializer/dxfields.py +0 -0
  181. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/tests/__init__.py +0 -0
  182. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/tests/test_doctests.py +0 -0
  183. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/upgrades/__init__.py +0 -0
  184. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/upgrades/configure.zcml +0 -0
  185. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/vocabularies/__init__.py +0 -0
  186. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea/volto/policy/vocabularies/configure.zcml +0 -0
  187. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea.volto.policy.egg-info/dependency_links.txt +0 -0
  188. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea.volto.policy.egg-info/entry_points.txt +0 -0
  189. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea.volto.policy.egg-info/namespace_packages.txt +0 -0
  190. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea.volto.policy.egg-info/not-zip-safe +0 -0
  191. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea.volto.policy.egg-info/requires.txt +0 -0
  192. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/eea.volto.policy.egg-info/top_level.txt +0 -0
  193. {eea.volto.policy-3.4 → eea.volto.policy-4.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: eea.volto.policy
3
- Version: 3.4
3
+ Version: 4.0
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.0 - (2024-05-20)
132
+ ---------------------------
133
+ * Feature: Migrate teaserGrid to gridBlock structure from Volto 17 core
134
+ [avoinea - refs #265726]
135
+
136
+ 3.5 - (2024-05-14)
137
+ ---------------------------
138
+ * Change: feat(serializer): added effective to the default_metadata_fields
139
+ [ichim-david]
140
+
131
141
  3.4 - (2024-03-28)
132
142
  ---------------------------
133
143
  * Change: Develop typo
@@ -1,6 +1,16 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 4.0 - (2024-05-20)
5
+ ---------------------------
6
+ * Feature: Migrate teaserGrid to gridBlock structure from Volto 17 core
7
+ [avoinea - refs #265726]
8
+
9
+ 3.5 - (2024-05-14)
10
+ ---------------------------
11
+ * Change: feat(serializer): added effective to the default_metadata_fields
12
+ [ichim-david]
13
+
4
14
  3.4 - (2024-03-28)
5
15
  ---------------------------
6
16
  * Change: Develop typo
@@ -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.savepoint(optimistic=True)
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
  """
@@ -4,5 +4,9 @@
4
4
  >
5
5
 
6
6
  <adapter factory=".dxfields.DateTimeFieldSerializer" />
7
+ <utility
8
+ factory=".summary.EEAJSONSummarySerializerMetadata"
9
+ name="plone.restapi.eea_summary_serializer_metadata"
10
+ />
7
11
 
8
12
  </configure>
@@ -0,0 +1,30 @@
1
+ """Summary serializer metadata for EEA Volto Policy."""
2
+ from plone.restapi.interfaces import IJSONSummarySerializerMetadata
3
+ from plone.restapi.serializer.summary import JSONSummarySerializerMetadata
4
+ from zope.interface import implementer
5
+
6
+
7
+ @implementer(IJSONSummarySerializerMetadata)
8
+ class EEAJSONSummarySerializerMetadata(JSONSummarySerializerMetadata):
9
+ """
10
+ Summary Metadata serializer inherited within EEA Volto Policy.
11
+
12
+ Implements IJSONSummarySerializerMetadata interface.
13
+ """
14
+
15
+ def default_metadata_fields(self):
16
+ """
17
+ Returns a set of default metadata fields to be included in the summary.
18
+ We add effective date to the list of default fields.
19
+ Returns:
20
+ set: A set of metadata field names.
21
+ """
22
+ return {
23
+ "@id",
24
+ "@type",
25
+ "description",
26
+ "review_state",
27
+ "title",
28
+ "type_title",
29
+ "effective",
30
+ }
@@ -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.4
3
+ Version: 4.0
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.0 - (2024-05-20)
132
+ ---------------------------
133
+ * Feature: Migrate teaserGrid to gridBlock structure from Volto 17 core
134
+ [avoinea - refs #265726]
135
+
136
+ 3.5 - (2024-05-14)
137
+ ---------------------------
138
+ * Change: feat(serializer): added effective to the default_metadata_fields
139
+ [ichim-david]
140
+
131
141
  3.4 - (2024-03-28)
132
142
  ---------------------------
133
143
  * Change: Develop typo
@@ -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
@@ -177,6 +180,7 @@ eea/volto/policy/restapi/navigation/navigation.py
177
180
  eea/volto/policy/restapi/serializer/__init__.py
178
181
  eea/volto/policy/restapi/serializer/configure.zcml
179
182
  eea/volto/policy/restapi/serializer/dxfields.py
183
+ eea/volto/policy/restapi/serializer/summary.py
180
184
  eea/volto/policy/tests/__init__.py
181
185
  eea/volto/policy/tests/base.py
182
186
  eea/volto/policy/tests/test_doctests.py
@@ -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.4
File without changes