imio.smartweb.core 1.2.12__py3-none-any.whl → 1.2.68__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 (361) hide show
  1. imio/smartweb/core/behaviors/categorization.py +24 -0
  2. imio/smartweb/core/behaviors/configure.zcml +7 -0
  3. imio/smartweb/core/browser/configure.zcml +41 -1
  4. imio/smartweb/core/browser/controlpanel.py +41 -0
  5. imio/smartweb/core/browser/dashboards/configure.zcml +0 -2
  6. imio/smartweb/core/browser/dashboards/plausible.py +4 -4
  7. imio/smartweb/core/browser/faceted/block_view.pt +4 -4
  8. imio/smartweb/core/browser/faceted/summary_view.pt +4 -4
  9. imio/smartweb/core/browser/forms.py +3 -3
  10. imio/smartweb/core/browser/redirect_to_main_react_view.py +52 -0
  11. imio/smartweb/core/browser/search/search.pt +2 -1
  12. imio/smartweb/core/browser/search/search.py +4 -0
  13. imio/smartweb/core/browser/sitemap.py +148 -0
  14. imio/smartweb/core/browser/static/icons/action-delete.svg +3 -0
  15. imio/smartweb/core/browser/static/icons/action-e-guichet.svg +1 -1
  16. imio/smartweb/core/browser/static/icons/action-email.svg +1 -1
  17. imio/smartweb/core/browser/static/icons/action-engagement-2.svg +4 -0
  18. imio/smartweb/core/browser/static/icons/action-engagement.svg +1 -1
  19. imio/smartweb/core/browser/static/icons/action-nous-contacter.svg +1 -1
  20. imio/smartweb/core/browser/static/icons/action-nous-rejoindre.svg +2 -1
  21. imio/smartweb/core/browser/static/icons/action-organiser-un-evenement.svg +1 -1
  22. imio/smartweb/core/browser/static/icons/action-panneaux.svg +3 -0
  23. imio/smartweb/core/browser/static/icons/action-signaler-un-probleme.svg +1 -1
  24. imio/smartweb/core/browser/static/icons/action-voir-plan.svg +1 -1
  25. imio/smartweb/core/browser/static/icons/action-vote.svg +3 -0
  26. imio/smartweb/core/browser/static/icons/categorie-associations.svg +1 -1
  27. imio/smartweb/core/browser/static/icons/categorie-attention.svg +3 -0
  28. imio/smartweb/core/browser/static/icons/categorie-avis-et-enquetes.svg +1 -1
  29. imio/smartweb/core/browser/static/icons/categorie-cinema.svg +1 -1
  30. imio/smartweb/core/browser/static/icons/categorie-commerce.svg +1 -1
  31. imio/smartweb/core/browser/static/icons/categorie-concert.svg +1 -1
  32. imio/smartweb/core/browser/static/icons/categorie-culture.svg +1 -1
  33. imio/smartweb/core/browser/static/icons/categorie-demarches.svg +1 -1
  34. imio/smartweb/core/browser/static/icons/categorie-enfance.svg +1 -1
  35. imio/smartweb/core/browser/static/icons/categorie-enseignement.svg +1 -1
  36. imio/smartweb/core/browser/static/icons/categorie-environnement-gestion-des-dechets.svg +1 -1
  37. imio/smartweb/core/browser/static/icons/categorie-exposition.svg +1 -1
  38. imio/smartweb/core/browser/static/icons/categorie-horaires.svg +1 -1
  39. imio/smartweb/core/browser/static/icons/categorie-infos-travaux-2.svg +4 -0
  40. imio/smartweb/core/browser/static/icons/categorie-infos-travaux.svg +1 -1
  41. imio/smartweb/core/browser/static/icons/categorie-mandataires.svg +1 -1
  42. imio/smartweb/core/browser/static/icons/categorie-mobilite.svg +1 -1
  43. imio/smartweb/core/browser/static/icons/categorie-mon-dossier.svg +1 -1
  44. imio/smartweb/core/browser/static/icons/categorie-nature.svg +3 -0
  45. imio/smartweb/core/browser/static/icons/categorie-parc-de-stationnement.svg +1 -1
  46. imio/smartweb/core/browser/static/icons/categorie-parcs-a-conteneurs.svg +4 -0
  47. imio/smartweb/core/browser/static/icons/categorie-parcs-et-jardins.svg +1 -1
  48. imio/smartweb/core/browser/static/icons/categorie-plus.svg +3 -0
  49. imio/smartweb/core/browser/static/icons/categorie-primes-2.svg +5 -0
  50. imio/smartweb/core/browser/static/icons/categorie-primes.svg +1 -1
  51. imio/smartweb/core/browser/static/icons/categorie-sport-courir.svg +1 -1
  52. imio/smartweb/core/browser/static/icons/categorie-sport-natation.svg +4 -0
  53. imio/smartweb/core/browser/static/icons/categorie-sport-velo.svg +1 -1
  54. imio/smartweb/core/browser/static/icons/categorie-tourisme.svg +1 -1
  55. imio/smartweb/core/browser/static/icons/organisation-academie-musique.svg +1 -1
  56. imio/smartweb/core/browser/static/icons/organisation-centre-sportif.svg +1 -1
  57. imio/smartweb/core/browser/static/icons/organisation-cpas.svg +1 -1
  58. imio/smartweb/core/browser/static/icons/organisation-ecole-des-arts.svg +1 -1
  59. imio/smartweb/core/browser/static/icons/organisation-ecole-sac.svg +4 -0
  60. imio/smartweb/core/browser/static/icons/organisation-ecole.svg +1 -1
  61. imio/smartweb/core/browser/static/icons/organisation-mobilite.svg +1 -1
  62. imio/smartweb/core/browser/static/icons/organisation-scout.svg +3 -0
  63. imio/smartweb/core/browser/static/icons/reseausocial-behance.svg +3 -0
  64. imio/smartweb/core/browser/static/icons/reseausocial-facebook.svg +1 -1
  65. imio/smartweb/core/browser/static/icons/reseausocial-linkedin.svg +3 -0
  66. imio/smartweb/core/browser/static/icons/reseausocial-twitter.svg +3 -13
  67. imio/smartweb/core/browser/static/icons/reseausocial-vimeo.svg +1 -1
  68. imio/smartweb/core/browser/static/icons/reseausocial-youtube.svg +1 -1
  69. imio/smartweb/core/browser/static/icons/vue-actualites.svg +1 -1
  70. imio/smartweb/core/browser/static/icons/vue-agenda.svg +1 -1
  71. imio/smartweb/core/browser/static/icons/vue-annuaire.svg +1 -1
  72. imio/smartweb/core/browser/static/smartweb-edit-compiled.css +1 -1
  73. imio/smartweb/core/browser/static/smartweb-edit-compiled.js +1 -1
  74. imio/smartweb/core/browser/static/smartweb-view-compiled.css +1 -1
  75. imio/smartweb/core/browser/static/smartweb-view-compiled.js +1 -1
  76. imio/smartweb/core/browser/static/src/edit.js +5 -0
  77. imio/smartweb/core/browser/static/src/edit.less +42 -0
  78. imio/smartweb/core/browser/static/src/view.js +11 -0
  79. imio/smartweb/core/browser/static/src/view.less +4 -0
  80. imio/smartweb/core/browser/utils.py +5 -32
  81. imio/smartweb/core/browser/vocabulary.py +40 -0
  82. imio/smartweb/core/contents/__init__.py +4 -0
  83. imio/smartweb/core/contents/configure.zcml +1 -0
  84. imio/smartweb/core/contents/cropping.py +1 -1
  85. imio/smartweb/core/contents/folder/block_view.pt +8 -8
  86. imio/smartweb/core/contents/folder/summary_view.pt +4 -4
  87. imio/smartweb/core/contents/pages/cirkwi/content.py +5 -0
  88. imio/smartweb/core/contents/pages/cirkwi/view.py +2 -1
  89. imio/smartweb/core/contents/pages/portal_page/view.py +3 -0
  90. imio/smartweb/core/contents/pages/views.py +3 -1
  91. imio/smartweb/core/contents/publication/configure.zcml +5 -0
  92. imio/smartweb/core/contents/publication/content.py +23 -0
  93. imio/smartweb/core/contents/rest/base.py +24 -10
  94. imio/smartweb/core/contents/rest/configure.zcml +7 -0
  95. imio/smartweb/core/contents/rest/directory/content.py +2 -2
  96. imio/smartweb/core/contents/rest/directory/endpoint.py +2 -2
  97. imio/smartweb/core/contents/rest/directory/view.pt +3 -1
  98. imio/smartweb/core/contents/rest/directory/view.py +3 -0
  99. imio/smartweb/core/contents/rest/events/content.py +15 -2
  100. imio/smartweb/core/contents/rest/events/endpoint.py +5 -7
  101. imio/smartweb/core/contents/rest/events/view.pt +6 -1
  102. imio/smartweb/core/contents/rest/events/view.py +15 -0
  103. imio/smartweb/core/contents/rest/news/content.py +8 -2
  104. imio/smartweb/core/contents/rest/news/endpoint.py +4 -2
  105. imio/smartweb/core/contents/rest/news/view.pt +5 -1
  106. imio/smartweb/core/contents/rest/news/view.py +11 -0
  107. imio/smartweb/core/contents/rest/search/endpoint.py +4 -4
  108. imio/smartweb/core/contents/rest/traversal.py +18 -0
  109. imio/smartweb/core/contents/rest/utils.py +98 -0
  110. imio/smartweb/core/contents/rest/view.py +11 -0
  111. imio/smartweb/core/contents/sections/common_templates/carousel.pt +6 -2
  112. imio/smartweb/core/contents/sections/common_templates/table.pt +22 -8
  113. imio/smartweb/core/contents/sections/configure.zcml +18 -0
  114. imio/smartweb/core/contents/sections/contact/content.py +2 -2
  115. imio/smartweb/core/contents/sections/contact/utils.py +2 -154
  116. imio/smartweb/core/contents/sections/events/content.py +12 -4
  117. imio/smartweb/core/contents/sections/events/view.py +20 -2
  118. imio/smartweb/core/contents/sections/external_content/configure.zcml +29 -0
  119. imio/smartweb/core/contents/sections/external_content/view.pt +25 -7
  120. imio/smartweb/core/contents/sections/external_content/view_idelux_waste.pt +50 -0
  121. imio/smartweb/core/contents/sections/external_content/view_inbw_containers_affluence.pt +91 -0
  122. imio/smartweb/core/contents/sections/external_content/view_odwb_widget.pt +20 -0
  123. imio/smartweb/core/contents/sections/external_content/views.py +306 -125
  124. imio/smartweb/core/contents/sections/files/content.py +7 -1
  125. imio/smartweb/core/contents/sections/files/view.py +40 -12
  126. imio/smartweb/core/contents/sections/links/view.py +5 -0
  127. imio/smartweb/core/contents/sections/macros.pt +39 -9
  128. imio/smartweb/core/contents/sections/news/content.py +11 -3
  129. imio/smartweb/core/contents/sections/news/view.py +20 -2
  130. imio/smartweb/core/contents/sections/text/view.pt +5 -4
  131. imio/smartweb/core/contents/sections/text/views.py +2 -0
  132. imio/smartweb/core/contents/sections/views.py +81 -4
  133. imio/smartweb/core/interfaces.py +15 -0
  134. imio/smartweb/core/profiles/default/actions.xml +15 -0
  135. imio/smartweb/core/profiles/default/diff_tool.xml +8 -0
  136. imio/smartweb/core/profiles/default/metadata.xml +1 -1
  137. imio/smartweb/core/profiles/default/registry/plone.xml +21 -4
  138. imio/smartweb/core/profiles/default/repositorytool.xml +1 -0
  139. imio/smartweb/core/profiles/default/taxonomies/page_category.xml +16 -0
  140. imio/smartweb/core/profiles/default/taxonomies/procedure_category.xml +26 -0
  141. imio/smartweb/core/profiles/default/types/Collection.xml +13 -0
  142. imio/smartweb/core/profiles/default/types/File.xml +13 -0
  143. imio/smartweb/core/profiles/default/types/Image.xml +13 -0
  144. imio/smartweb/core/profiles/default/types/imio.smartweb.BlockLink.xml +5 -0
  145. imio/smartweb/core/profiles/default/types/imio.smartweb.CirkwiView.xml +1 -0
  146. imio/smartweb/core/profiles/default/types/imio.smartweb.DirectoryView.xml +1 -0
  147. imio/smartweb/core/profiles/default/types/imio.smartweb.EventsView.xml +2 -0
  148. imio/smartweb/core/profiles/default/types/imio.smartweb.Folder.xml +1 -0
  149. imio/smartweb/core/profiles/default/types/imio.smartweb.NewsView.xml +2 -0
  150. imio/smartweb/core/profiles/default/types/imio.smartweb.Page.xml +1 -0
  151. imio/smartweb/core/profiles/default/types/imio.smartweb.PortalPage.xml +1 -0
  152. imio/smartweb/core/profiles/default/types/imio.smartweb.Procedure.xml +1 -0
  153. imio/smartweb/core/profiles/default/types/imio.smartweb.Publication.xml +38 -0
  154. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionEvents.xml +1 -0
  155. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionFiles.xml +2 -0
  156. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionHTML.xml +0 -1
  157. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionNews.xml +1 -0
  158. imio/smartweb/core/profiles/default/types.xml +1 -0
  159. imio/smartweb/core/profiles/icons/basic/registry.xml +120 -0
  160. imio/smartweb/core/profiles/testing/types/imio.smartweb.DirectoryView.xml +11 -0
  161. imio/smartweb/core/profiles/testing/types/imio.smartweb.EventsView.xml +11 -0
  162. imio/smartweb/core/profiles/testing/types/imio.smartweb.NewsView.xml +11 -0
  163. imio/smartweb/core/profiles/validation/contentrules.xml +102 -0
  164. imio/smartweb/core/profiles.zcml +8 -0
  165. imio/smartweb/core/rest/authentic_sources.py +23 -11
  166. imio/smartweb/core/subscribers.py +24 -0
  167. imio/smartweb/core/subscribers.zcml +4 -0
  168. imio/smartweb/core/tests/resources/json_iadeliberations_institutions.json +60 -0
  169. imio/smartweb/core/tests/resources/json_iadeliberations_publication.json +105 -0
  170. imio/smartweb/core/tests/resources/json_iadeliberations_publications.json +270 -0
  171. imio/smartweb/core/tests/resources/json_rest_events.json +6 -2
  172. imio/smartweb/core/tests/resources/json_rest_news.json +2 -2
  173. imio/smartweb/core/tests/resources/json_rest_specific_events.json +1 -1
  174. imio/smartweb/core/tests/test_cropping.py +4 -4
  175. imio/smartweb/core/tests/test_htmx_in_sections.py +131 -0
  176. imio/smartweb/core/tests/test_iadeliberations.py +136 -0
  177. imio/smartweb/core/tests/test_icons.py +1 -1
  178. imio/smartweb/core/tests/test_redirect_to_main_react_view.py +79 -0
  179. imio/smartweb/core/tests/test_rest.py +283 -22
  180. imio/smartweb/core/tests/test_section_contact.py +2 -2
  181. imio/smartweb/core/tests/test_section_events.py +28 -5
  182. imio/smartweb/core/tests/test_section_external_content.py +26 -25
  183. imio/smartweb/core/tests/test_section_news.py +30 -8
  184. imio/smartweb/core/tests/test_sections.py +38 -15
  185. imio/smartweb/core/tests/test_sitemap.py +174 -0
  186. imio/smartweb/core/tests/test_vocabularies.py +61 -4
  187. imio/smartweb/core/tests/test_vocabulary.py +43 -0
  188. imio/smartweb/core/tests/utils.py +15 -0
  189. imio/smartweb/core/upgrades/configure.zcml +180 -0
  190. imio/smartweb/core/upgrades/profiles/1051_to_1052/actions.xml +20 -0
  191. imio/smartweb/core/upgrades/profiles/1052_to_1053/diff_tool.xml +8 -0
  192. imio/smartweb/core/upgrades/profiles/1052_to_1053/repositorytool.xml +9 -0
  193. imio/smartweb/core/upgrades/profiles/1052_to_1053/types/imio.smartweb.SectionHTML.xml +14 -0
  194. imio/smartweb/core/upgrades/profiles/1053_to_1054/registry.xml +39 -0
  195. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/Collection.xml +13 -0
  196. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/File.xml +13 -0
  197. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/Image.xml +13 -0
  198. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.BlockLink.xml +12 -0
  199. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.CirkwiView.xml +12 -0
  200. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.DirectoryView.xml +12 -0
  201. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.EventsView.xml +12 -0
  202. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.Folder.xml +12 -0
  203. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.NewsView.xml +12 -0
  204. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.Page.xml +12 -0
  205. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.PortalPage.xml +12 -0
  206. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.Procedure.xml +12 -0
  207. imio/smartweb/core/upgrades/profiles/1055_to_1056/types/imio.smartweb.SectionFiles.xml +12 -0
  208. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.EventsView.xml +11 -0
  209. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.NewsView.xml +11 -0
  210. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.SectionEvents.xml +11 -0
  211. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.SectionNews.xml +11 -0
  212. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/page_category.cfg +9 -0
  213. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/page_category.xml +73 -0
  214. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/procedure_category.cfg +9 -0
  215. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/procedure_category.xml +118 -0
  216. imio/smartweb/core/upgrades/profiles/1058_to_1059/registry/linkedin-icon.xml +126 -0
  217. imio/smartweb/core/upgrades/profiles/1059_to_1060/registry/iadeliberation.xml +9 -0
  218. imio/smartweb/core/upgrades/profiles/1060_to_1061/types/imio.smartweb.Publication.xml +38 -0
  219. imio/smartweb/core/upgrades/profiles/1060_to_1061/types/imio.smartweb.SectionFiles.xml +11 -0
  220. imio/smartweb/core/upgrades/profiles/1060_to_1061/types.xml +4 -0
  221. imio/smartweb/core/upgrades/profiles/1060_to_1061/workflows.xml +6 -0
  222. imio/smartweb/core/utils.py +65 -3
  223. imio/smartweb/core/viewlets/configure.zcml +43 -0
  224. imio/smartweb/core/viewlets/external_content.py +13 -5
  225. imio/smartweb/core/viewlets/footer.pt +5 -0
  226. imio/smartweb/core/viewlets/footer.py +5 -0
  227. imio/smartweb/core/viewlets/htmx.py +15 -0
  228. imio/smartweb/core/viewlets/htmx_js_header.pt +59 -0
  229. imio/smartweb/core/viewlets/httpheaders.py +13 -0
  230. imio/smartweb/core/viewlets/odwb_widget_header.pt +19 -0
  231. imio/smartweb/core/viewlets/offcanvas.pt +2 -1
  232. imio/smartweb/core/viewlets/ogp_tag_header.pt +19 -0
  233. imio/smartweb/core/viewlets/ogptags.py +144 -0
  234. imio/smartweb/core/viewlets/social.py +23 -0
  235. imio/smartweb/core/vocabularies.py +66 -2
  236. imio/smartweb/core/vocabularies.zcml +18 -0
  237. imio/smartweb/core/webcomponents/build/1c1605a5fe9a2b10a88f.png +1 -0
  238. imio/smartweb/core/webcomponents/build/524db40e119aa11f4478.png +1 -0
  239. imio/smartweb/core/webcomponents/build/57d3b7cb1ab874660b39.svg +1 -0
  240. imio/smartweb/core/webcomponents/build/6cf03871df23ed2ee8b3.png +1 -0
  241. imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css +1 -0
  242. imio/smartweb/core/webcomponents/build/css/486.smartweb-webcomponents-compiled.css +1 -0
  243. imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css +1 -0
  244. imio/smartweb/core/webcomponents/build/css/919.smartweb-webcomponents-compiled.css +1 -0
  245. imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
  246. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js +2 -0
  247. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js.LICENSE.txt +16 -0
  248. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +2 -0
  249. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js.LICENSE.txt +10 -0
  250. imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -0
  251. imio/smartweb/core/webcomponents/build/js/499.smartweb-webcomponents-compiled.js +2 -0
  252. imio/smartweb/core/webcomponents/build/js/{212.smartweb-webcomponents-compiled.js.LICENSE.txt → 499.smartweb-webcomponents-compiled.js.LICENSE.txt} +1 -8
  253. imio/smartweb/core/webcomponents/build/js/799.smartweb-webcomponents-compiled.js +2 -0
  254. imio/smartweb/core/webcomponents/build/js/824.smartweb-webcomponents-compiled.js +2 -0
  255. imio/smartweb/core/webcomponents/build/js/828.smartweb-webcomponents-compiled.js +2 -0
  256. imio/smartweb/core/webcomponents/build/js/828.smartweb-webcomponents-compiled.js.LICENSE.txt +32 -0
  257. imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -0
  258. imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -0
  259. imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js +2 -0
  260. imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js.LICENSE.txt +3 -0
  261. imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js +1 -1
  262. imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js.LICENSE.txt +11 -14
  263. imio/smartweb/core/webcomponents/package.json +46 -44
  264. imio/smartweb/core/webcomponents/src/assets/contentIcon/download.svg +1 -0
  265. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +160 -92
  266. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.scss +250 -157
  267. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactCard/ContactCard.jsx +113 -81
  268. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +394 -188
  269. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactList/ContactList.jsx +26 -9
  270. imio/smartweb/core/webcomponents/src/components/Annuaire/Filters/Filter.jsx +213 -100
  271. imio/smartweb/core/webcomponents/src/components/Annuaire/index.js +1 -1
  272. imio/smartweb/core/webcomponents/src/components/Events/EventCard/EventCard.jsx +86 -0
  273. imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +615 -0
  274. imio/smartweb/core/webcomponents/src/components/Events/EventList/EventList.jsx +67 -0
  275. imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +181 -103
  276. imio/smartweb/core/webcomponents/src/components/Events/Events.scss +316 -182
  277. imio/smartweb/core/webcomponents/src/components/Events/Filters/Filter.jsx +275 -80
  278. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.jsx +136 -0
  279. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.scss +104 -0
  280. imio/smartweb/core/webcomponents/src/components/Filters/IamData.jsx +42 -0
  281. imio/smartweb/core/webcomponents/src/components/Filters/MainFilter.scss +227 -0
  282. imio/smartweb/core/webcomponents/src/components/Filters/PublicTargetData.jsx +94 -0
  283. imio/smartweb/core/webcomponents/src/components/Filters/SelectStyles.js +58 -0
  284. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.jsx +149 -0
  285. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.scss +70 -0
  286. imio/smartweb/core/webcomponents/src/components/News/Filters/Filter.jsx +139 -83
  287. imio/smartweb/core/webcomponents/src/components/News/News.jsx +141 -74
  288. imio/smartweb/core/webcomponents/src/components/News/News.scss +41 -15
  289. imio/smartweb/core/webcomponents/src/components/News/NewsCard/NewsCard.jsx +96 -0
  290. imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +309 -0
  291. imio/smartweb/core/webcomponents/src/components/News/NewsList/NewsList.jsx +76 -0
  292. imio/smartweb/core/webcomponents/src/components/Search/ContactResult/ContactResult.jsx +28 -14
  293. imio/smartweb/core/webcomponents/src/components/Search/EventsResult/EventsResult.jsx +28 -14
  294. imio/smartweb/core/webcomponents/src/components/Search/Filters/Filter.jsx +51 -32
  295. imio/smartweb/core/webcomponents/src/components/Search/NewsResult/NewsResult.jsx +29 -15
  296. imio/smartweb/core/webcomponents/src/components/Search/Search.jsx +18 -13
  297. imio/smartweb/core/webcomponents/src/components/Search/Search.scss +125 -105
  298. imio/smartweb/core/webcomponents/src/components/Search/WebResult/WebResult.jsx +19 -6
  299. imio/smartweb/core/webcomponents/src/components/Search/index.js +1 -1
  300. imio/smartweb/core/webcomponents/src/hooks/ScrollContext.jsx +3 -0
  301. imio/smartweb/core/webcomponents/src/hooks/useAxios.js +3 -6
  302. imio/smartweb/core/webcomponents/src/hooks/useFilterQuery.js +1 -2
  303. imio/smartweb/core/webcomponents/src/index.scss +246 -211
  304. imio/smartweb/core/webcomponents/src/utils/Map.jsx +159 -0
  305. imio/smartweb/core/webcomponents/src/{components/Annuaire/ContactMap/ContactMap.scss → utils/Map.scss} +2 -2
  306. imio/smartweb/core/webcomponents/src/utils/translation.js +283 -14
  307. imio.smartweb.core-1.2.68-py3.11-nspkg.pth +2 -0
  308. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/METADATA +548 -3
  309. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/RECORD +317 -240
  310. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/WHEEL +1 -1
  311. imio/smartweb/core/webcomponents/build/assets/location-bla.1423bcce16ddcb21141430cac1428dc1.svg +0 -1
  312. imio/smartweb/core/webcomponents/build/assets/next-react-white.819cb069ac8eec300a9db6a7707712d6.svg +0 -1
  313. imio/smartweb/core/webcomponents/build/assets/next-react.17bc43ff4a6a86f4520f5782f6a89a72.svg +0 -1
  314. imio/smartweb/core/webcomponents/build/assets/search.57bdbf5b191499cd77514097d1c4972c.svg +0 -1
  315. imio/smartweb/core/webcomponents/build/css/267.smartweb-webcomponents-compiled.css +0 -1
  316. imio/smartweb/core/webcomponents/build/css/323.smartweb-webcomponents-compiled.css +0 -1
  317. imio/smartweb/core/webcomponents/build/css/552.smartweb-webcomponents-compiled.css +0 -1
  318. imio/smartweb/core/webcomponents/build/css/779.smartweb-webcomponents-compiled.css +0 -1
  319. imio/smartweb/core/webcomponents/build/js/144.smartweb-webcomponents-compiled.js +0 -2
  320. imio/smartweb/core/webcomponents/build/js/212.smartweb-webcomponents-compiled.js +0 -2
  321. imio/smartweb/core/webcomponents/build/js/267.smartweb-webcomponents-compiled.js +0 -1
  322. imio/smartweb/core/webcomponents/build/js/323.smartweb-webcomponents-compiled.js +0 -2
  323. imio/smartweb/core/webcomponents/build/js/323.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -1
  324. imio/smartweb/core/webcomponents/build/js/552.smartweb-webcomponents-compiled.js +0 -2
  325. imio/smartweb/core/webcomponents/build/js/552.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -1
  326. imio/smartweb/core/webcomponents/build/js/565.smartweb-webcomponents-compiled.js +0 -1
  327. imio/smartweb/core/webcomponents/build/js/612.smartweb-webcomponents-compiled.js +0 -2
  328. imio/smartweb/core/webcomponents/build/js/612.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -1
  329. imio/smartweb/core/webcomponents/build/js/779.smartweb-webcomponents-compiled.js +0 -1
  330. imio/smartweb/core/webcomponents/build/js/9.smartweb-webcomponents-compiled.js +0 -2
  331. imio/smartweb/core/webcomponents/build/js/969.smartweb-webcomponents-compiled.js +0 -2
  332. imio/smartweb/core/webcomponents/build/js/969.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -642
  333. imio/smartweb/core/webcomponents/pnpm-lock.yaml +0 -7066
  334. imio/smartweb/core/webcomponents/src/assets/facebook-news.svg +0 -1
  335. imio/smartweb/core/webcomponents/src/assets/location-bla.svg +0 -1
  336. imio/smartweb/core/webcomponents/src/assets/next-react.svg +0 -1
  337. imio/smartweb/core/webcomponents/src/assets/search.svg +0 -1
  338. imio/smartweb/core/webcomponents/src/assets/skeleton.svg +0 -1
  339. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactMap/ContactMap.jsx +0 -156
  340. imio/smartweb/core/webcomponents/src/components/Annuaire/Skeleton/LoaderCss.jsx +0 -7
  341. imio/smartweb/core/webcomponents/src/components/Annuaire/Skeleton/Skeleton.jsx +0 -20
  342. imio/smartweb/core/webcomponents/src/components/Events/ContactCard/ContactCard.jsx +0 -49
  343. imio/smartweb/core/webcomponents/src/components/Events/ContactContent/ContactContent.jsx +0 -400
  344. imio/smartweb/core/webcomponents/src/components/Events/ContactList/ContactList.jsx +0 -42
  345. imio/smartweb/core/webcomponents/src/components/Events/ContactMap/ContactMap.jsx +0 -156
  346. imio/smartweb/core/webcomponents/src/components/Events/Skeleton/Skeleton.jsx +0 -20
  347. imio/smartweb/core/webcomponents/src/components/News/ContactCard/ContactCard.jsx +0 -78
  348. imio/smartweb/core/webcomponents/src/components/News/ContactContent/ContactContent.jsx +0 -261
  349. imio/smartweb/core/webcomponents/src/components/News/ContactList/ContactList.jsx +0 -37
  350. imio/smartweb/core/webcomponents/src/components/News/ContactMap/ContactMap.jsx +0 -127
  351. imio/smartweb/core/webcomponents/src/components/News/ContactMap/ContactMap.scss +0 -4
  352. imio/smartweb/core/webcomponents/src/components/News/Skeleton/Skeleton.jsx +0 -20
  353. imio/smartweb/core/webcomponents/src/components/Search/Skeleton/Skeleton.jsx +0 -20
  354. imio.smartweb.core-1.2.12-py3.10-nspkg.pth +0 -3
  355. /imio/smartweb/core/{webcomponents/src/components/Events/ContactMap/ContactMap.scss → contents/publication/__init__.py} +0 -0
  356. /imio/smartweb/core/webcomponents/build/js/{144.smartweb-webcomponents-compiled.js.LICENSE.txt → 799.smartweb-webcomponents-compiled.js.LICENSE.txt} +0 -0
  357. /imio/smartweb/core/webcomponents/build/js/{9.smartweb-webcomponents-compiled.js.LICENSE.txt → 824.smartweb-webcomponents-compiled.js.LICENSE.txt} +0 -0
  358. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/LICENSE.GPL +0 -0
  359. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/LICENSE.rst +0 -0
  360. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/namespace_packages.txt +0 -0
  361. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/top_level.txt +0 -0
@@ -37,6 +37,7 @@
37
37
  <element value="imio.smartweb.iam"/>
38
38
  <element value="plone.categorization"/>
39
39
  <element value="collective.autopublishing.behavior.IAutoPublishing"/>
40
+ <element value="solr.fields" />
40
41
  </property>
41
42
 
42
43
  </object>
@@ -38,6 +38,7 @@
38
38
  <element value="imio.smartweb.iam"/>
39
39
  <element value="plone.categorization"/>
40
40
  <element value="collective.autopublishing.behavior.IAutoPublishing"/>
41
+ <element value="solr.fields" />
41
42
  </property>
42
43
 
43
44
  </object>
@@ -32,12 +32,14 @@
32
32
  <element value="plone.locking"/>
33
33
  <element value="plone.leadimage"/>
34
34
  <element value="plone.imagecropping"/>
35
+ <element value="imio.smartweb.category_display"/>
35
36
  <element value="imio.smartweb.orientation"/>
36
37
  <element value="imio.smartweb.listing"/>
37
38
  <element value="imio.smartweb.topics"/>
38
39
  <element value="imio.smartweb.iam"/>
39
40
  <element value="plone.categorization"/>
40
41
  <element value="collective.autopublishing.behavior.IAutoPublishing"/>
42
+ <element value="solr.fields" />
41
43
  </property>
42
44
 
43
45
  </object>
@@ -51,6 +51,7 @@
51
51
  <element value="imio.smartweb.listing"/>
52
52
  <element value="imio.smartweb.quickaccessselection"/>
53
53
  <element value="collective.autopublishing.behavior.IAutoPublishing"/>
54
+ <element value="solr.fields" />
54
55
  </property>
55
56
 
56
57
  <!-- View information -->
@@ -32,12 +32,14 @@
32
32
  <element value="plone.locking"/>
33
33
  <element value="plone.leadimage"/>
34
34
  <element value="plone.imagecropping"/>
35
+ <element value="imio.smartweb.category_display"/>
35
36
  <element value="imio.smartweb.orientation"/>
36
37
  <element value="imio.smartweb.listing"/>
37
38
  <element value="imio.smartweb.topics"/>
38
39
  <element value="imio.smartweb.iam"/>
39
40
  <element value="plone.categorization"/>
40
41
  <element value="collective.autopublishing.behavior.IAutoPublishing"/>
42
+ <element value="solr.fields" />
41
43
  </property>
42
44
 
43
45
  </object>
@@ -51,6 +51,7 @@
51
51
  <element value="imio.smartweb.iam"/>
52
52
  <element value="plone.categorization"/>
53
53
  <element value="collective.autopublishing.behavior.IAutoPublishing"/>
54
+ <element value="solr.fields" />
54
55
  </property>
55
56
 
56
57
  <!-- View information -->
@@ -54,6 +54,7 @@
54
54
  <element value="imio.smartweb.iam"/>
55
55
  <element value="plone.categorization"/>
56
56
  <element value="collective.autopublishing.behavior.IAutoPublishing"/>
57
+ <element value="solr.fields" />
57
58
  </property>
58
59
 
59
60
  <!-- View information -->
@@ -51,6 +51,7 @@
51
51
  <element value="imio.smartweb.iam"/>
52
52
  <element value="plone.categorization"/>
53
53
  <element value="collective.autopublishing.behavior.IAutoPublishing"/>
54
+ <element value="solr.fields" />
54
55
  </property>
55
56
 
56
57
  <!-- View information -->
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0"?>
2
+ <object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
3
+ name="imio.smartweb.Publication"
4
+ meta_type="Dexterity FTI"
5
+ i18n:domain="imio.smartweb">
6
+
7
+ <!-- Basic properties -->
8
+ <property
9
+ i18n:translate=""
10
+ name="title">Publication</property>
11
+ <property
12
+ i18n:translate=""
13
+ name="description">IA.Deliberations : Publication</property>
14
+
15
+ <property name="icon_expr">string:bounding-box-circles</property>
16
+
17
+ <!-- Hierarchy control -->
18
+ <property name="global_allow">False</property>
19
+
20
+ <!-- Schema, class and security -->
21
+ <!-- if we can add a page, we can add a page section -->
22
+ <property name="add_permission">cmf.ManagePortal</property>
23
+ <property name="klass">imio.smartweb.core.contents.Publication</property>
24
+ <property name="schema">imio.smartweb.core.contents.IPublication</property>
25
+
26
+ <!-- Enabled behaviors -->
27
+ <property name="behaviors" purge="false">
28
+ <element value="plone.shortname"/>
29
+ <element value="plone.leadimage"/>
30
+ <element value="solr.fields" />
31
+ </property>
32
+
33
+ <!-- View information -->
34
+ <property name="default_view">view</property>
35
+ <property name="default_view_fallback">False</property>
36
+ <property name="immediate_view">view</property>
37
+
38
+ </object>
@@ -28,6 +28,7 @@
28
28
  <element value="plone.namefromtitle"/>
29
29
  <element value="plone.locking"/>
30
30
  <element value="plone.shortname"/>
31
+ <element value="imio.smartweb.category_display"/>
31
32
  <element value="imio.smartweb.orientation"/>
32
33
  </property>
33
34
 
@@ -19,6 +19,7 @@
19
19
  <property name="filter_content_types">True</property>
20
20
  <property name="allowed_content_types">
21
21
  <element value="File" />
22
+ <element value="imio.smartweb.Publication" />
22
23
  </property>
23
24
  <!-- Schema, class and security -->
24
25
  <!-- if we can add a page, we can add a page section -->
@@ -31,6 +32,7 @@
31
32
  <element value="plone.namefromtitle"/>
32
33
  <element value="plone.locking"/>
33
34
  <element value="plone.shortname"/>
35
+ <element value="imio.smartweb.orientation"/>
34
36
  </property>
35
37
 
36
38
  <!-- View information -->
@@ -32,7 +32,6 @@
32
32
  <element value="plone.namefromtitle"/>
33
33
  <element value="plone.locking"/>
34
34
  <element value="plone.shortname"/>
35
- <element value="plone.versioning" />
36
35
  </property>
37
36
 
38
37
  </object>
@@ -28,6 +28,7 @@
28
28
  <element value="plone.namefromtitle"/>
29
29
  <element value="plone.locking"/>
30
30
  <element value="plone.shortname"/>
31
+ <element value="imio.smartweb.category_display"/>
31
32
  <element value="imio.smartweb.orientation"/>
32
33
  </property>
33
34
 
@@ -11,6 +11,7 @@
11
11
  <object meta_type="Dexterity FTI" name="imio.smartweb.Page"/>
12
12
  <object meta_type="Dexterity FTI" name="imio.smartweb.PortalPage"/>
13
13
  <object meta_type="Dexterity FTI" name="imio.smartweb.Procedure"/>
14
+ <object meta_type="Dexterity FTI" name="imio.smartweb.Publication"/>
14
15
  <object meta_type="Dexterity FTI" name="imio.smartweb.SectionCollection"/>
15
16
  <object meta_type="Dexterity FTI" name="imio.smartweb.SectionContact"/>
16
17
  <object meta_type="Dexterity FTI" name="imio.smartweb.SectionEvents"/>
@@ -3,6 +3,38 @@
3
3
  xmlns:i18n="http://xml.zope.org/namespaces/i18n"
4
4
  i18n:domain="imio.smartweb">
5
5
 
6
+ <record name="smartweb.icon.action.delete"
7
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
8
+ <field type="plone.registry.field.TextLine">
9
+ <title i18n:translate="">Action - Delete</title>
10
+ </field>
11
+ <value key="resource">++plone++imio.smartweb.core/icons/action-delete.svg</value>
12
+ </record>
13
+
14
+ <record name="smartweb.icon.action.hiring-2"
15
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
16
+ <field type="plone.registry.field.TextLine">
17
+ <title i18n:translate="">Action - Hiring-2</title>
18
+ </field>
19
+ <value key="resource">++plone++imio.smartweb.core/icons/action-engagement-2.svg</value>
20
+ </record>
21
+
22
+ <record name="smartweb.icon.action.signs"
23
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
24
+ <field type="plone.registry.field.TextLine">
25
+ <title i18n:translate="">Action - Signs</title>
26
+ </field>
27
+ <value key="resource">++plone++imio.smartweb.core/icons/action-panneaux.svg</value>
28
+ </record>
29
+
30
+ <record name="smartweb.icon.action.vote"
31
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
32
+ <field type="plone.registry.field.TextLine">
33
+ <title i18n:translate="">Action - Vote</title>
34
+ </field>
35
+ <value key="resource">++plone++imio.smartweb.core/icons/action-vote.svg</value>
36
+ </record>
37
+
6
38
  <record name="smartweb.icon.action.eguichet"
7
39
  interface="imio.smartweb.core.interfaces.ISmartwebIcon">
8
40
  <field type="plone.registry.field.TextLine">
@@ -91,6 +123,54 @@
91
123
  <value key="resource">++plone++imio.smartweb.core/icons/categorie-cinema.svg</value>
92
124
  </record>
93
125
 
126
+ <record name="smartweb.icon.category.attention"
127
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
128
+ <field type="plone.registry.field.TextLine">
129
+ <title i18n:translate="">Category - Attention</title>
130
+ </field>
131
+ <value key="resource">++plone++imio.smartweb.core/icons/categorie-attention.svg</value>
132
+ </record>
133
+
134
+ <record name="smartweb.icon.category.nature"
135
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
136
+ <field type="plone.registry.field.TextLine">
137
+ <title i18n:translate="">Category - Nature</title>
138
+ </field>
139
+ <value key="resource">++plone++imio.smartweb.core/icons/categorie-nature.svg</value>
140
+ </record>
141
+
142
+ <record name="smartweb.icon.category.containerpark"
143
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
144
+ <field type="plone.registry.field.TextLine">
145
+ <title i18n:translate="">Category - Containerpark</title>
146
+ </field>
147
+ <value key="resource">++plone++imio.smartweb.core/icons/categorie-parcs-a-conteneurs.svg</value>
148
+ </record>
149
+
150
+ <record name="smartweb.icon.category.more"
151
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
152
+ <field type="plone.registry.field.TextLine">
153
+ <title i18n:translate="">Category - More</title>
154
+ </field>
155
+ <value key="resource">++plone++imio.smartweb.core/icons/categorie-plus.svg</value>
156
+ </record>
157
+
158
+ <record name="smartweb.icon.category.bonuses-2"
159
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
160
+ <field type="plone.registry.field.TextLine">
161
+ <title i18n:translate="">Category - Bonuses - 2</title>
162
+ </field>
163
+ <value key="resource">++plone++imio.smartweb.core/icons/categorie-primes-2.svg</value>
164
+ </record>
165
+
166
+ <record name="smartweb.icon.category.sport.swim"
167
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
168
+ <field type="plone.registry.field.TextLine">
169
+ <title i18n:translate="">Category - Sport - Swim</title>
170
+ </field>
171
+ <value key="resource">++plone++imio.smartweb.core/icons/categorie-sport-natation.svg</value>
172
+ </record>
173
+
94
174
  <record name="smartweb.icon.category.shop"
95
175
  interface="imio.smartweb.core.interfaces.ISmartwebIcon">
96
176
  <field type="plone.registry.field.TextLine">
@@ -171,6 +251,14 @@
171
251
  <value key="resource">++plone++imio.smartweb.core/icons/categorie-infos-travaux.svg</value>
172
252
  </record>
173
253
 
254
+ <record name="smartweb.icon.category.works-2"
255
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
256
+ <field type="plone.registry.field.TextLine">
257
+ <title i18n:translate="">Category - Works - 2</title>
258
+ </field>
259
+ <value key="resource">++plone++imio.smartweb.core/icons/categorie-infos-travaux-2.svg</value>
260
+ </record>
261
+
174
262
  <record name="smartweb.icon.category.representative"
175
263
  interface="imio.smartweb.core.interfaces.ISmartwebIcon">
176
264
  <field type="plone.registry.field.TextLine">
@@ -259,6 +347,22 @@
259
347
  <value key="resource">++plone++imio.smartweb.core/icons/categorie-tourisme.svg</value>
260
348
  </record>
261
349
 
350
+ <record name="smartweb.icon.organization.school-2"
351
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
352
+ <field type="plone.registry.field.TextLine">
353
+ <title i18n:translate="">Organization - School - 2</title>
354
+ </field>
355
+ <value key="resource">++plone++imio.smartweb.core/icons/organisation-ecole-sac.svg</value>
356
+ </record>
357
+
358
+ <record name="smartweb.icon.organization.boyscout"
359
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
360
+ <field type="plone.registry.field.TextLine">
361
+ <title i18n:translate="">Organization - Boyscout</title>
362
+ </field>
363
+ <value key="resource">++plone++imio.smartweb.core/icons/organisation-scout.svg</value>
364
+ </record>
365
+
262
366
  <record name="smartweb.icon.organization.musicacademy"
263
367
  interface="imio.smartweb.core.interfaces.ISmartwebIcon">
264
368
  <field type="plone.registry.field.TextLine">
@@ -323,6 +427,14 @@
323
427
  <value key="resource">++plone++imio.smartweb.core/icons/organisation-police.svg</value>
324
428
  </record>
325
429
 
430
+ <record name="smartweb.icon.socialnetwork.behance"
431
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
432
+ <field type="plone.registry.field.TextLine">
433
+ <title i18n:translate="">Social network - Behance</title>
434
+ </field>
435
+ <value key="resource">++plone++imio.smartweb.core/icons/reseausocial-behance.svg</value>
436
+ </record>
437
+
326
438
  <record name="smartweb.icon.socialnetwork.facebookthumb"
327
439
  interface="imio.smartweb.core.interfaces.ISmartwebIcon">
328
440
  <field type="plone.registry.field.TextLine">
@@ -347,6 +459,14 @@
347
459
  <value key="resource">++plone++imio.smartweb.core/icons/reseausocial-instagram.svg</value>
348
460
  </record>
349
461
 
462
+ <record name="smartweb.icon.socialnetwork.linkedin"
463
+ interface="imio.smartweb.core.interfaces.ISmartwebIcon">
464
+ <field type="plone.registry.field.TextLine">
465
+ <title i18n:translate="">Social network - Linkedin</title>
466
+ </field>
467
+ <value key="resource">++plone++imio.smartweb.core/icons/reseausocial-linkedin.svg</value>
468
+ </record>
469
+
350
470
  <record name="smartweb.icon.socialnetwork.twitter"
351
471
  interface="imio.smartweb.core.interfaces.ISmartwebIcon">
352
472
  <field type="plone.registry.field.TextLine">
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0"?>
2
+ <object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
3
+ name="imio.smartweb.DirectoryView"
4
+ meta_type="Dexterity FTI"
5
+ i18n:domain="imio.smartweb">
6
+
7
+ <property name="behaviors" purge="false">
8
+ <element value="plone.translatable"/>
9
+ </property>
10
+
11
+ </object>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0"?>
2
+ <object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
3
+ name="imio.smartweb.EventsView"
4
+ meta_type="Dexterity FTI"
5
+ i18n:domain="imio.smartweb">
6
+
7
+ <property name="behaviors" purge="false">
8
+ <element value="plone.translatable"/>
9
+ </property>
10
+
11
+ </object>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0"?>
2
+ <object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
3
+ name="imio.smartweb.NewsView"
4
+ meta_type="Dexterity FTI"
5
+ i18n:domain="imio.smartweb">
6
+
7
+ <property name="behaviors" purge="false">
8
+ <element value="plone.translatable"/>
9
+ </property>
10
+
11
+ </object>
@@ -0,0 +1,102 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <contentrules>
3
+ <rule name="rule-1" title="Notification de contenu à valider"
4
+ cascading="False" description="" enabled="True"
5
+ event="Products.CMFCore.interfaces.IActionSucceededEvent"
6
+ stop-after="False">
7
+ <conditions>
8
+ <condition type="plone.conditions.PortalType">
9
+ <property name="check_types">
10
+ <element>imio.smartweb.Page</element>
11
+ <element>imio.smartweb.PortalPage</element>
12
+ <element>imio.smartweb.Procedure</element>
13
+ </property>
14
+ </condition>
15
+ <condition type="plone.conditions.WorkflowState">
16
+ <property name="wf_states">
17
+ <element>pending</element>
18
+ </property>
19
+ </condition>
20
+ </conditions>
21
+ <actions>
22
+ <action type="plone.actions.Mail">
23
+ <property name="subject">Nouveau contenu sur le site</property>
24
+ <property name="source"/>
25
+ <property name="recipients">${reviewer_emails}</property>
26
+ <property name="exclude_actor">False</property>
27
+ <property name="message">Un nouveau contenu a été soumis à validation. Cliquez sur le lien pour aller le valider ou le refuser : ${absolute_url}</property>
28
+ </action>
29
+ <action type="plone.actions.Logger">
30
+ <property name="targetLogger">imio.smartweb.core</property>
31
+ <property name="loggingLevel">20</property>
32
+ <property
33
+ name="message">Content to review notification sent for &amp;c.</property>
34
+ </action>
35
+ </actions>
36
+ </rule>
37
+ <rule name="rule-2" title="Notification de modification de section de contenu publié"
38
+ cascading="False" description="" enabled="True"
39
+ event="zope.lifecycleevent.interfaces.IObjectModifiedEvent"
40
+ stop-after="False">
41
+ <conditions>
42
+ <condition type="plone.conditions.PortalType">
43
+ <property name="check_types">
44
+ <element>imio.smartweb.SectionText</element>
45
+ </property>
46
+ </condition>
47
+ <condition type="plone.conditions.TalesExpression">
48
+ <property
49
+ name="tales_expression">python: hasattr(here, &quot;aq_parent&quot;) and portal.portal_workflow.getInfoFor(here.aq_parent, &quot;review_state&quot;, &quot;&quot;) == &quot;published&quot;</property>
50
+ </condition>
51
+ </conditions>
52
+ <actions>
53
+ <action type="plone.actions.Mail">
54
+ <property name="subject">Contenu publié modifié sur le site</property>
55
+ <property name="source"/>
56
+ <property name="recipients">${reviewer_emails}</property>
57
+ <property name="exclude_actor">False</property>
58
+ <property name="message">Une section texte d&#x27;un contenu déjà publié a été modifiée. Cliquez sur le lien pour consulter la modification effectuée : ${absolute_url}/@@historyview</property>
59
+ </action>
60
+ <action type="plone.actions.Logger">
61
+ <property name="targetLogger">imio.smartweb.core</property>
62
+ <property name="loggingLevel">20</property>
63
+ <property
64
+ name="message">Published content change notification sent for &amp;c (user: &amp;u).</property>
65
+ </action>
66
+ </actions>
67
+ </rule>
68
+ <rule name="rule-3" title="Notification d'ajout de section à un contenu publié"
69
+ cascading="False" description="" enabled="True"
70
+ event="zope.lifecycleevent.interfaces.IObjectAddedEvent"
71
+ stop-after="False">
72
+ <conditions>
73
+ <condition type="plone.conditions.PortalType">
74
+ <property name="check_types">
75
+ <element>imio.smartweb.SectionText</element>
76
+ </property>
77
+ </condition>
78
+ <condition type="plone.conditions.TalesExpression">
79
+ <property
80
+ name="tales_expression">python: hasattr(here, &quot;aq_parent&quot;) and portal.portal_workflow.getInfoFor(here.aq_parent, &quot;review_state&quot;, &quot;&quot;) == &quot;published&quot;</property>
81
+ </condition>
82
+ </conditions>
83
+ <actions>
84
+ <action type="plone.actions.Mail">
85
+ <property name="subject">Contenu publié modifié sur le site</property>
86
+ <property name="source"/>
87
+ <property name="recipients">${reviewer_emails}</property>
88
+ <property name="exclude_actor">False</property>
89
+ <property name="message">Une section texte a été ajoutée à un contenu déjà publié. Cliquez sur le lien pour consulter la section texte ajoutée : ${absolute_url}</property>
90
+ </action>
91
+ <action type="plone.actions.Logger">
92
+ <property name="targetLogger">imio.smartweb.core</property>
93
+ <property name="loggingLevel">20</property>
94
+ <property
95
+ name="message">Published content add notification sent for &amp;c (user: &amp;u).</property>
96
+ </action>
97
+ </actions>
98
+ </rule>
99
+ <assignment name="rule-1" bubbles="True" enabled="True" location=""/>
100
+ <assignment name="rule-2" bubbles="True" enabled="True" location=""/>
101
+ <assignment name="rule-3" bubbles="True" enabled="True" location=""/>
102
+ </contentrules>
@@ -45,6 +45,14 @@
45
45
  provides="Products.GenericSetup.interfaces.EXTENSION"
46
46
  />
47
47
 
48
+ <genericsetup:registerProfile
49
+ name="validation"
50
+ title="imio.smartweb.core validation"
51
+ directory="profiles/validation"
52
+ description="Installs smartweb validation content rules"
53
+ provides="Products.GenericSetup.interfaces.EXTENSION"
54
+ />
55
+
48
56
  <genericsetup:registerProfile
49
57
  name="last-compilation"
50
58
  title="imio.smartweb.core last compilation dates"
@@ -25,6 +25,8 @@ class BaseRequestForwarder(Service):
25
25
  def reply(self):
26
26
  alsoProvides(self.request, IDisableCSRFProtection)
27
27
  url = "/".join(self.traversal_stack)
28
+ if self.request_type == "events":
29
+ url = url.replace("@search", "@events")
28
30
  auth_source_url = f"{self.base_url}/{url}"
29
31
  response = self.forward_request(auth_source_url)
30
32
  response = self.add_smartweb_urls(response)
@@ -39,34 +41,44 @@ class BaseRequestForwarder(Service):
39
41
  token = get_wca_token(self.client_id, self.client_secret)
40
42
  headers = {"Accept": "application/json", "Authorization": token}
41
43
  params = self.request.form
42
- params = self.add_missing_metadatas(params)
44
+ if method == "GET":
45
+ params = self.add_missing_metadatas(params)
43
46
  data = json_body(self.request)
44
47
 
45
48
  # Forward the request to the authentic source
46
49
  auth_source_response = requests.request(
47
- method, url, params=params, headers=headers, data=data
50
+ method, url, params=params, headers=headers, json=data
48
51
  )
49
-
50
52
  response = self.request.response
51
53
  # Set the status code and headers from the authentic source server response
52
54
  response.setStatus(auth_source_response.status_code)
53
55
  for header, value in auth_source_response.headers.items():
54
56
  response.setHeader(header, value)
55
57
 
58
+ if auth_source_response.status_code == 204 or auth_source_response.text == "":
59
+ # Empty response
60
+ return ""
61
+
56
62
  return auth_source_response.json()
57
63
 
64
+ def construct_url(self, view_url, item):
65
+ # we can construct a Smartweb-related URL for item
66
+ # TODO: handle other views & translations (use/refactor code in
67
+ # search endpoint)
68
+ item_uid = item["UID"]
69
+ item_id = item.get("id", "content")
70
+ item["smartweb_url"] = f"{view_url}/{item_id}?u={item_uid}"
71
+
58
72
  def add_smartweb_urls(self, json_data):
59
- if "items" not in json_data:
73
+ if "items" not in json_data and "@id" not in json_data:
74
+ return json_data
75
+ default_view_url = get_default_view_url(self.request_type)
76
+ if "@id" in json_data and "UID" in json_data:
77
+ self.construct_url(default_view_url, json_data)
60
78
  return json_data
61
79
  for item in json_data.get("items", []):
62
80
  if "@id" in item and "UID" in item:
63
- # we can construct a Smartweb-related URL for item
64
- # TODO: handle other views & translations (use/refactor code in
65
- # search endpoint)
66
- default_view_url = get_default_view_url(self.request_type)
67
- item_uid = item["UID"]
68
- item_id = item["id"]
69
- item["smartweb_url"] = f"{default_view_url}#/{item_id}?u={item_uid}"
81
+ self.construct_url(default_view_url, item)
70
82
  return json_data
71
83
 
72
84
  def add_missing_metadatas(self, params):
@@ -4,6 +4,8 @@ from imio.smartweb.common.faceted.utils import configure_faceted
4
4
  from imio.smartweb.common.utils import is_log_active
5
5
  from imio.smartweb.common.utils import remove_cropping
6
6
  from imio.smartweb.core.behaviors.minisite import IImioSmartwebMinisite
7
+ from imio.smartweb.core.utils import get_iadeliberation_institution_from_registry
8
+ from imio.smartweb.core.utils import get_iadeliberation_json
7
9
  from imio.smartweb.core.utils import safe_html
8
10
  from imio.smartweb.locales import SmartwebMessageFactory as _
9
11
  from plone import api
@@ -106,3 +108,25 @@ def modified_content(obj, event):
106
108
  class_name = d.interface.__identifier__.split(".")[-1]
107
109
  for field_name in d.attributes:
108
110
  check_image_field(obj, d.interface, class_name, field_name)
111
+
112
+
113
+ def added_publication(obj, event):
114
+ """save json attributes on object attributes"""
115
+ # query the deliberation API with the
116
+ # selected publication UID to retrieve all informations
117
+ iadeliberation_institution = get_iadeliberation_institution_from_registry()
118
+ url = f"{iadeliberation_institution}/publications/{obj.linked_publication}?fullobjects=y"
119
+ try:
120
+ json_publication = get_iadeliberation_json(url)
121
+ obj.title = json_publication.get("title")
122
+ obj.description = json_publication.get("description")
123
+ obj.publication_uid = json_publication.get("UID")
124
+ obj.publication_url = json_publication.get("@id")
125
+ obj.publication_datetime = json_publication.get("effective")
126
+ obj.publication_document_type = json_publication.get("document_type").get(
127
+ "title"
128
+ )
129
+ obj.publication_category = json_publication.get("category").get("title")
130
+ obj.publication_attached_file = json_publication.get("file")
131
+ except Exception:
132
+ logger.error(f"Error while trying to get publication data from {url}")
@@ -21,4 +21,8 @@
21
21
  zope.lifecycleevent.interfaces.IObjectModifiedEvent"
22
22
  handler=".subscribers.modified_content" />
23
23
 
24
+ <subscriber for="imio.smartweb.core.contents.IPublication
25
+ zope.lifecycleevent.interfaces.IObjectAddedEvent"
26
+ handler=".subscribers.added_publication" />
27
+
24
28
  </configure>