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
@@ -53,18 +53,48 @@
53
53
  <a tal:attributes="href string:${context/absolute_url}/delete_confirmation"
54
54
  i18n:translate="">Delete section</a>
55
55
 
56
+ <form class="form_section_size"
57
+ style="display: none;"
58
+ hx-swap="innerHTML"
59
+ hx-trigger="change"
60
+ tal:attributes="name string:sizesForm_${context/UID};
61
+ id string:sizesForm_${context/UID};
62
+ hx-boost string:${context/UID};
63
+ hx-post string:${context/absolute_url}/@@savesize;
64
+ hx-target string:#selected_size_${context/UID}">
65
+ <select name="sectionSize"
66
+ class="form-select select_section_size"
67
+ hx-vals="serialize"
68
+ tal:attributes="name string:select_${context/UID};
69
+ id string:select_${context/UID}">
70
+ <option tal:repeat="size view/get_sizes"
71
+ tal:attributes="title size/value; value size/key; class string:icon_${size/key}"
72
+ >
73
+ </option>
74
+ </select>
75
+ </form>
76
+ <a class="section_size"
77
+ href="#"
78
+ tal:attributes="id string:selected_size_${context/UID};
79
+ uid string:${context/UID}"
80
+ tal:content="string:${view/get_section_size}"></a>
81
+
56
82
  <tal:dates define="modified context/ModificationDate">
57
83
  <span class="documentModified"
58
84
  tal:condition="modified">
59
- <span i18n:translate="">
60
- Modified
61
- </span>
62
- <span class="pat-display-time"
63
- data-pat-display-time="from-now: true"
64
- tal:attributes="datetime modified"
65
- tal:content="modified">
66
- Modified
67
- </span>
85
+ <a class="documentModified"
86
+ tal:attributes="href string:${context/absolute_url}/@@historyview"
87
+ tal:omit-tag="python:context.portal_type != 'imio.smartweb.SectionText'">
88
+ <span i18n:translate="">
89
+ Modified
90
+ </span>
91
+ <span class="pat-display-time"
92
+ data-pat-display-time="from-now: true"
93
+ tal:attributes="datetime modified"
94
+ tal:content="modified">
95
+ Modified
96
+ </span>
97
+ </a>
68
98
  </span>
69
99
  </tal:dates>
70
100
 
@@ -1,10 +1,10 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
+ from imio.smartweb.common.widgets.select import TranslatedAjaxSelectWidget
3
4
  from imio.smartweb.core.contents.sections.base import ISection
4
5
  from imio.smartweb.core.contents.sections.base import Section
5
6
  from imio.smartweb.locales import SmartwebMessageFactory as _
6
7
  from plone.app.z3cform.widget import RelatedItemsFieldWidget
7
- from plone.app.z3cform.widget import AjaxSelectFieldWidget
8
8
  from plone.app.z3cform.widget import SelectFieldWidget
9
9
  from plone.autoform import directives
10
10
  from plone.supermodel import model
@@ -40,8 +40,9 @@ class ISectionNews(ISection):
40
40
  )
41
41
  directives.widget(
42
42
  "specific_related_newsitems",
43
- AjaxSelectFieldWidget,
44
- source="imio.smartweb.vocabulary.NewsItemsFromEntity",
43
+ TranslatedAjaxSelectWidget,
44
+ vocabulary="imio.smartweb.vocabulary.NewsItemsFromEntity",
45
+ pattern_options={"multiple": True},
45
46
  )
46
47
 
47
48
  directives.widget(
@@ -85,6 +86,13 @@ class ISectionNews(ISection):
85
86
  title=_("Show items description"), required=False
86
87
  )
87
88
 
89
+ model.fieldset("layout", fields=["display_newsfolders_titles"])
90
+ display_newsfolders_titles = schema.Bool(
91
+ title=_("Display news folders titles"),
92
+ description=_("If checked, display news folders titles in the carousel view."),
93
+ required=False,
94
+ )
95
+
88
96
 
89
97
  @implementer(ISectionNews)
90
98
  class SectionNews(Section):
@@ -1,5 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
+ from imio.smartweb.common.utils import translate_vocabulary_term
3
4
  from imio.smartweb.core.config import NEWS_URL
4
5
  from imio.smartweb.core.contents.sections.views import CarouselOrTableSectionView
5
6
  from imio.smartweb.core.contents.sections.views import HashableJsonSectionView
@@ -25,7 +26,10 @@ class NewsView(CarouselOrTableSectionView, HashableJsonSectionView):
25
26
  params = [
26
27
  selected_item,
27
28
  "portal_type=imio.news.NewsItem",
29
+ "metadata_fields=container_uid",
28
30
  "metadata_fields=category_title",
31
+ "metadata_fields=local_category",
32
+ "metadata_fields=topics",
29
33
  "metadata_fields=has_leadimage",
30
34
  "metadata_fields=modified",
31
35
  "metadata_fields=effective",
@@ -55,13 +59,23 @@ class NewsView(CarouselOrTableSectionView, HashableJsonSectionView):
55
59
  item_url = item["@id"]
56
60
  item_uid = item["UID"]
57
61
  modified_hash = hash_md5(item["modified"])
62
+ category = ""
63
+ if self.context.show_categories_or_topics == "category":
64
+ category = item.get("local_category") or item.get("category_title", "")
65
+ elif self.context.show_categories_or_topics == "topic":
66
+ topic = item.get("topics") and item["topics"][0] or None
67
+ category = translate_vocabulary_term(
68
+ "imio.smartweb.vocabulary.Topics", topic
69
+ )
58
70
  dict_item = {
59
71
  "uid": item_uid,
60
72
  "title": item["title"],
61
73
  "description": item["description"],
62
- "category": item["category_title"],
74
+ "category": category,
63
75
  "effective": item["effective"],
64
- "url": f"{linking_view_url}#/{item_id}?u={item_uid}",
76
+ "url": f"{linking_view_url}/{item_id}?u={item_uid}",
77
+ "container_id": item.get("usefull_container_id", None),
78
+ "container_title": item.get("usefull_container_title", None),
65
79
  "has_image": item["has_leadimage"],
66
80
  "image": f"{item_url}/@@images/image/{orientation}_{image_scale}?cache_key={modified_hash}",
67
81
  }
@@ -75,3 +89,7 @@ class NewsView(CarouselOrTableSectionView, HashableJsonSectionView):
75
89
  @property
76
90
  def see_all_url(self):
77
91
  return self.context.linking_rest_view.to_object.absolute_url()
92
+
93
+ @property
94
+ def display_container_title(self):
95
+ return self.context.display_newsfolders_titles
@@ -10,10 +10,11 @@
10
10
  <metal:main fill-slot="content-core">
11
11
  <metal:content-core define-macro="content-core">
12
12
  <metal:macro use-macro="context/@@sections_macros/section_edition" />
13
- <div tal:define="image context/image | nothing;"
14
- class="container section-container section-text"
13
+ <div tal:define="image context/image | nothing;
14
+ collapse_klass_container python: 'section-text-collapsed' if context.collapsible_section else '';"
15
15
  id=""
16
- tal:attributes="id string:container-section-${context/id}">
16
+ tal:attributes="class string:container section-container section-text ${collapse_klass_container};
17
+ id string:container-section-${context/id};">
17
18
  <metal:macro use-macro="context/@@sections_macros/section_title" />
18
19
  <div tal:define="collapse_klass python: 'collapse' if context.collapsible_section else '';
19
20
  klass string:body-section figure-${context/alignment} figure-${context/image_size} ${collapse_klass};"
@@ -21,7 +22,7 @@
21
22
  id string:body-section-${context/id}">
22
23
  <tal:cond condition="image">
23
24
  <figure>
24
- <img alt="" tal:attributes="src python:view.get_scale_url(context);" />
25
+ <img tal:attributes="src python:view.get_scale_url(context); alt python:context.image_caption if context.image_caption else ''" />
25
26
  <figcaption tal:condition="context/image_caption" tal:content="context/image_caption"></figcaption>
26
27
  </figure>
27
28
  </tal:cond>
@@ -10,4 +10,6 @@ class TextView(SectionView):
10
10
  def get_scale_url(self, item):
11
11
  request = self.request
12
12
  scale = self.context.image_size
13
+ if self.context.image._height > self.context.image._width:
14
+ return get_scale_url(item, request, "image", scale, "portrait")
13
15
  return get_scale_url(item, request, "image", scale, "paysage")
@@ -1,17 +1,23 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
+ from Acquisition import aq_inner
4
+ from imio.smartweb.common.utils import get_vocabulary
5
+ from imio.smartweb.common.utils import translate_vocabulary_term
3
6
  from imio.smartweb.core.utils import hash_md5
7
+ from imio.smartweb.core.utils import reindexParent
4
8
  from imio.smartweb.locales import SmartwebMessageFactory as _
5
9
  from plone import api
6
10
  from plone.locking.browser.info import LockInfoViewlet
7
11
  from plone.protect.interfaces import IDisableCSRFProtection
8
12
  from Products.Five.browser import BrowserView
9
13
  from zope.annotation.interfaces import IAnnotations
14
+ from zope.i18n import translate
10
15
  from zope.interface import alsoProvides
11
16
  from zope.interface import Interface
12
17
  from zope.lifecycleevent import modified
13
18
 
14
19
  import json
20
+ import pytz
15
21
 
16
22
 
17
23
  SECTION_ITEMS_HASH_KEY = "sections-items-hash-key"
@@ -51,14 +57,62 @@ class SectionView(BrowserView):
51
57
  api.portal.show_message(_("Section title has been shown"), self.request)
52
58
  self.redirect_to_section(self.context.id)
53
59
 
60
+ @property
61
+ def display_container_title(self):
62
+ return False
63
+
54
64
  @property
55
65
  def is_anonymous(self):
56
66
  return api.user.is_anonymous()
57
67
 
68
+ def get_section_size(self):
69
+ current_lang = api.portal.get_current_language()[:2]
70
+ if not self.context.bootstrap_css_class:
71
+ return translate(_("Define section size"), target_language=current_lang)
72
+ return translate_vocabulary_term(
73
+ "imio.smartweb.vocabulary.BootstrapCSS",
74
+ self.context.bootstrap_css_class,
75
+ current_lang,
76
+ )
77
+
78
+ @property
79
+ def get_sizes(self):
80
+ voc = get_vocabulary("imio.smartweb.vocabulary.BootstrapCSS")
81
+ sizes = [{"key": t.token, "value": _(t.title)} for t in voc]
82
+ return sizes
83
+
84
+ @property
85
+ def save_size(self):
86
+ select_name = f"select_{self.context.UID()}"
87
+ if not self.request.form.get(select_name):
88
+ return json.dumps({})
89
+ section_size = self.request.form.get(select_name)
90
+ context = aq_inner(self.context)
91
+ context.bootstrap_css_class = section_size
92
+ context.reindexObject()
93
+ reindexParent(context)
94
+ current_lang = api.portal.get_current_language()[:2]
95
+ size_txt = translate_vocabulary_term(
96
+ "imio.smartweb.vocabulary.BootstrapCSS",
97
+ section_size,
98
+ current_lang,
99
+ )
100
+ return json.dumps({"id": section_size, "title": size_txt})
101
+
58
102
 
59
103
  class CarouselOrTableSectionView(SectionView):
60
104
  """Section view that can display a carousel"""
61
105
 
106
+ def items(self):
107
+ items = self.context.listFolderContents()
108
+ for item in items:
109
+ item.smartweb_type = "Item"
110
+ item.container_id = ""
111
+ portal_type = getattr(item, "portal_type", None)
112
+ if portal_type:
113
+ item.smartweb_type = portal_type.split(".")[-1]
114
+ return items
115
+
62
116
  @property
63
117
  def image_scale(self):
64
118
  layout = self.context.getLayout()
@@ -66,18 +120,41 @@ class CarouselOrTableSectionView(SectionView):
66
120
  if layout == "carousel_view":
67
121
  return self.context.nb_results_by_batch == 1 and "affiche" or "vignette"
68
122
  elif layout == "table_view":
69
- return self.context.nb_results_by_batch == 1 and "liste" or "vignette"
123
+ return self.context.nb_results_by_batch == 1 and "affiche" or "vignette"
70
124
  else:
71
125
  return getattr(self.context, "image_scale", "")
72
126
 
127
+ def datetime_format(self, item, datetime_field="effective"):
128
+ """
129
+ item.get("effective", None)
130
+ => DateTime('YYYY/MM/DD HH:mm:ss.000000 GMT+1')
131
+ convert to more conventional datetime format
132
+ and return its string representation
133
+ """
134
+ datetime_field = item.get(datetime_field, None)
135
+ if datetime_field is None:
136
+ return ""
137
+ target_timezone = pytz.timezone("Europe/Paris")
138
+ if isinstance(datetime_field, str):
139
+ return datetime_field
140
+ dt = datetime_field.asdatetime()
141
+ target_datetime = dt.astimezone(target_timezone)
142
+ output_format = "%Y-%m-%dT%H:%M:%S%z"
143
+ formatted_datetime_str = target_datetime.strftime(output_format)
144
+ return formatted_datetime_str
145
+
146
+ def retrieve_item_url(self, item):
147
+ return item.get("url")
148
+
73
149
 
74
150
  class HashableJsonSectionView(SectionView):
75
151
  json_data = None
76
152
 
77
153
  def refresh_modification_date(self):
78
- new_hash = None
79
- if self.json_data is not None:
80
- new_hash = hash_md5(json.dumps(self.json_data))
154
+ if self.json_data is None:
155
+ # Don't reindex section when we receive no JSON (ex: timeout)
156
+ return
157
+ new_hash = hash_md5(json.dumps(self.json_data))
81
158
  annotations = IAnnotations(self.context)
82
159
  stored_hash = annotations.get(SECTION_ITEMS_HASH_KEY)
83
160
  if stored_hash != new_hash:
@@ -31,3 +31,18 @@ class IArcgisViewUtils(Interface):
31
31
 
32
32
  def get_portal_item_id():
33
33
  """Return id of a map"""
34
+
35
+
36
+ class IOgpViewUtils(Interface):
37
+ """ """
38
+
39
+
40
+ class IOdwbViewUtils(Interface):
41
+ """ """
42
+
43
+ def is_odwb_widget_plugins():
44
+ """Return True if we are in the generic odwb widget plugins"""
45
+
46
+
47
+ class IHtmxViewUtils(Interface):
48
+ """ """
@@ -88,6 +88,21 @@
88
88
  </object>
89
89
  </object>
90
90
 
91
+ <object meta_type="CMF Action Category" name="user">
92
+ <object meta_type="CMF Action" name="dashboard" i18n:domain="plone" remove="True" />
93
+ <object meta_type="CMF Action" name="statistics" i18n:domain="imio.smartweb">
94
+ <property name="title" i18n:translate="">Statistics</property>
95
+ <property name="description" i18n:translate=""/>
96
+ <property name="url_expr">string:$portal_url/@@stats</property>
97
+ <property name="icon_expr">string:activity</property>
98
+ <property name="available_expr">portal/@@utils/is_plausible_set</property>
99
+ <property name="permissions">
100
+ <element value="Add portal content"/>
101
+ </property>
102
+ <property name="visible">True</property>
103
+ </object>
104
+ </object>
105
+
91
106
  <object name="header_actions" meta_type="CMF Action Category">
92
107
  <object name="account" meta_type="CMF Action" i18n:domain="imio.smartweb">
93
108
  <property name="title" i18n:translate="">My account</property>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <object>
3
+ <difftypes>
4
+ <type portal_type="imio.smartweb.SectionText">
5
+ <field name="any" difftype="Compound Diff for Dexterity types"/>
6
+ </type>
7
+ </difftypes>
8
+ </object>
@@ -1,6 +1,6 @@
1
1
  <?xml version='1.0' encoding='UTF-8'?>
2
2
  <metadata>
3
- <version>1051</version>
3
+ <version>1061</version>
4
4
  <dependencies>
5
5
  <dependency>profile-plone.app.dexterity:default</dependency>
6
6
  <dependency>profile-plone.app.imagecropping:default</dependency>
@@ -19,17 +19,34 @@
19
19
  interface="Products.CMFPlone.interfaces.controlpanel.ISearchSchema"
20
20
  field="types_not_searched">
21
21
  <value purge="false">
22
+ <element>News Item</element>
23
+ <element>imio.smartweb.HeroBanner</element>
24
+ <element>Discussion Item</element>
25
+ <element>MessagesConfig</element>
26
+ <element>Folder</element>
22
27
  <element>imio.smartweb.BlockLink</element>
28
+ <element>Message</element>
29
+ <element>Document</element>
23
30
  <element>imio.smartweb.Footer</element>
24
- <element>imio.smartweb.HeroBanner</element>
31
+ <element>imio.smartweb.SectionHTML</element>
32
+ <element>imio.smartweb.SectionSendinblue</element>
33
+ <element>imio.smartweb.SectionNews</element>
34
+ <element>imio.smartweb.SectionCollection</element>
25
35
  <element>imio.smartweb.SectionContact</element>
36
+ <element>imio.smartweb.SectionExternalContent</element>
37
+ <element>imio.smartweb.SectionSelections</element>
26
38
  <element>imio.smartweb.SectionFiles</element>
27
- <element>imio.smartweb.SectionGallery</element>
28
39
  <element>imio.smartweb.SectionLinks</element>
29
- <element>imio.smartweb.SectionSelections</element>
30
- <element>imio.smartweb.SectionSlide</element>
31
40
  <element>imio.smartweb.SectionText</element>
41
+ <element>imio.smartweb.SectionGallery</element>
42
+ <element>imio.smartweb.SectionMap</element>
43
+ <element>imio.smartweb.SectionPostit</element>
44
+ <element>imio.smartweb.SectionSlide</element>
32
45
  <element>imio.smartweb.SectionVideo</element>
46
+ <element>imio.smartweb.SectionEvents</element>
47
+ <element>Plone Site</element>
48
+ <element>TempFolder</element>
49
+ <element>Event</element>
33
50
  </value>
34
51
  </record>
35
52
 
@@ -2,6 +2,7 @@
2
2
  <repositorytool>
3
3
  <policymap>
4
4
  <type name="imio.smartweb.SectionText">
5
+ <policy name="at_edit_autoversion" />
5
6
  <policy name="version_on_revert"/>
6
7
  </type>
7
8
  </policymap>
@@ -3,6 +3,8 @@
3
3
  <vocabName>
4
4
  <langstring language="fr">Catégorie d'une page</langstring>
5
5
  <langstring language="en">Page category</langstring>
6
+ <langstring language="nl">Paginacategorie</langstring>
7
+ <langstring language="de">Seitenkategorie</langstring>
6
8
  </vocabName>
7
9
  <vocabIdentifier>page_category</vocabIdentifier>
8
10
  <term>
@@ -10,6 +12,8 @@
10
12
  <caption>
11
13
  <langstring language="fr">Avis et enquête</langstring>
12
14
  <langstring language="en">Advice and enquiry</langstring>
15
+ <langstring language="nl">Advies en onderzoek</langstring>
16
+ <langstring language="de">Gutachten und Untersuchung</langstring>
13
17
  </caption>
14
18
  </term>
15
19
  <term>
@@ -17,6 +21,8 @@
17
21
  <caption>
18
22
  <langstring language="fr">Emploi</langstring>
19
23
  <langstring language="en">Job</langstring>
24
+ <langstring language="nl">Werk</langstring>
25
+ <langstring language="de">Arbeit</langstring>
20
26
  </caption>
21
27
  </term>
22
28
  <term>
@@ -24,6 +30,8 @@
24
30
  <caption>
25
31
  <langstring language="fr">Info travaux</langstring>
26
32
  <langstring language="en">Works information</langstring>
33
+ <langstring language="nl">Werkinformatie</langstring>
34
+ <langstring language="de">Arbeitsinformation</langstring>
27
35
  </caption>
28
36
  </term>
29
37
  <term>
@@ -31,6 +39,8 @@
31
39
  <caption>
32
40
  <langstring language="fr">Presse</langstring>
33
41
  <langstring language="en">Press</langstring>
42
+ <langstring language="nl">Pers</langstring>
43
+ <langstring language="de">Presse</langstring>
34
44
  </caption>
35
45
  </term>
36
46
  <term>
@@ -38,6 +48,8 @@
38
48
  <caption>
39
49
  <langstring language="fr">Publication</langstring>
40
50
  <langstring language="en">Publication</langstring>
51
+ <langstring language="nl">Publicatie</langstring>
52
+ <langstring language="de">Veröffentlichung</langstring>
41
53
  </caption>
42
54
  </term>
43
55
  <term>
@@ -45,6 +57,8 @@
45
57
  <caption>
46
58
  <langstring language="fr">Règlement</langstring>
47
59
  <langstring language="en">Regulation</langstring>
60
+ <langstring language="nl">Regelgeving</langstring>
61
+ <langstring language="de">Vorschrift</langstring>
48
62
  </caption>
49
63
  </term>
50
64
  <term>
@@ -52,6 +66,8 @@
52
66
  <caption>
53
67
  <langstring language="fr">Taxe et redevance</langstring>
54
68
  <langstring language="en">Taxe and fee</langstring>
69
+ <langstring language="nl">Belasting en vergoeding</langstring>
70
+ <langstring language="de">Steuer und Gebühr</langstring>
55
71
  </caption>
56
72
  </term>
57
73
  </vdex>
@@ -3,6 +3,8 @@
3
3
  <vocabName>
4
4
  <langstring language="fr">Catégorie d'une démarche</langstring>
5
5
  <langstring language="en">Procedure category</langstring>
6
+ <langstring language="nl">Procedurecategorie</langstring>
7
+ <langstring language="de">Verfahrenskategorie</langstring>
6
8
  </vocabName>
7
9
  <vocabIdentifier>procedure_category</vocabIdentifier>
8
10
  <term>
@@ -10,6 +12,8 @@
10
12
  <caption>
11
13
  <langstring language="fr">Acte (naissance, mariage, décès, etc.)</langstring>
12
14
  <langstring language="en">Act (birth, marriage, death, etc.)</langstring>
15
+ <langstring language="nl">Akte (geboorte, huwelijk, overlijden, enz.)</langstring>
16
+ <langstring language="de">Urkunde (Geburt, Ehe, Tod, usw.)</langstring>
13
17
  </caption>
14
18
  </term>
15
19
  <term>
@@ -17,6 +21,8 @@
17
21
  <caption>
18
22
  <langstring language="fr">Autorisation et carte</langstring>
19
23
  <langstring language="en">Authorization and card</langstring>
24
+ <langstring language="nl">Vergunning en kaart</langstring>
25
+ <langstring language="de">Genehmigung und Karte</langstring>
20
26
  </caption>
21
27
  </term>
22
28
  <term>
@@ -24,6 +30,8 @@
24
30
  <caption>
25
31
  <langstring language="fr">Certificat (de vie, d'hérédité, etc.)</langstring>
26
32
  <langstring language="en">Certificate (of life, inheritance, etc.)</langstring>
33
+ <langstring language="nl">Certificaat (van leven, van erfenis, enz.)</langstring>
34
+ <langstring language="de">Bescheinigung (des Lebens, des Erbes, usw.)</langstring>
27
35
  </caption>
28
36
  </term>
29
37
  <term>
@@ -31,6 +39,8 @@
31
39
  <caption>
32
40
  <langstring language="fr">Déclaration</langstring>
33
41
  <langstring language="en">Statement</langstring>
42
+ <langstring language="nl">Verklaring</langstring>
43
+ <langstring language="de">Erklärung</langstring>
34
44
  </caption>
35
45
  </term>
36
46
  <term>
@@ -38,6 +48,8 @@
38
48
  <caption>
39
49
  <langstring language="fr">Demande (concession funéraire, changement de prénom, etc.)</langstring>
40
50
  <langstring language="en">Request (funeral concession, change of first name, etc.)</langstring>
51
+ <langstring language="nl">Aanvraag (begrafenisconcessie, naamsverandering, enz.)</langstring>
52
+ <langstring language="de">Antrag (Begräbnis Konzession, Namensänderung, usw.)</langstring>
41
53
  </caption>
42
54
  </term>
43
55
  <term>
@@ -45,6 +57,8 @@
45
57
  <caption>
46
58
  <langstring language="fr">Document d'identité</langstring>
47
59
  <langstring language="en">Identity document</langstring>
60
+ <langstring language="nl">Identiteitsdocument</langstring>
61
+ <langstring language="de">Ausweisdokument</langstring>
48
62
  </caption>
49
63
  </term>
50
64
  <term>
@@ -52,6 +66,8 @@
52
66
  <caption>
53
67
  <langstring language="fr">Extrait de registre</langstring>
54
68
  <langstring language="en">Register extract</langstring>
69
+ <langstring language="nl">Uittreksel uit het register</langstring>
70
+ <langstring language="de">Registerauszug</langstring>
55
71
  </caption>
56
72
  </term>
57
73
  <term>
@@ -59,6 +75,8 @@
59
75
  <caption>
60
76
  <langstring language="fr">Information pratique</langstring>
61
77
  <langstring language="en">Practical information</langstring>
78
+ <langstring language="nl">Praktische informatie</langstring>
79
+ <langstring language="de">Praktische Information</langstring>
62
80
  </caption>
63
81
  </term>
64
82
  <term>
@@ -66,6 +84,8 @@
66
84
  <caption>
67
85
  <langstring language="fr">Inscription</langstring>
68
86
  <langstring language="en">Registration</langstring>
87
+ <langstring language="nl">Inschrijving</langstring>
88
+ <langstring language="de">Anmeldung</langstring>
69
89
  </caption>
70
90
  </term>
71
91
  <term>
@@ -73,6 +93,8 @@
73
93
  <caption>
74
94
  <langstring language="fr">Permis</langstring>
75
95
  <langstring language="en">License</langstring>
96
+ <langstring language="nl">Vergunning</langstring>
97
+ <langstring language="de">Erlaubnis</langstring>
76
98
  </caption>
77
99
  </term>
78
100
  <term>
@@ -80,6 +102,8 @@
80
102
  <caption>
81
103
  <langstring language="fr">Plainte et réclamation</langstring>
82
104
  <langstring language="en">Complaint</langstring>
105
+ <langstring language="nl">Klacht</langstring>
106
+ <langstring language="de">Beschwerde</langstring>
83
107
  </caption>
84
108
  </term>
85
109
  <term>
@@ -87,6 +111,8 @@
87
111
  <caption>
88
112
  <langstring language="fr">Prime et aide</langstring>
89
113
  <langstring language="en">Bonus and aid</langstring>
114
+ <langstring language="nl">Premie en hulp</langstring>
115
+ <langstring language="de">Prämie und Hilfe</langstring>
90
116
  </caption>
91
117
  </term>
92
118
  </vdex>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
3
+ meta_type="Dexterity FTI"
4
+ name="Collection"
5
+ i18n:domain="plone"
6
+ >
7
+
8
+ <!-- Enabled behaviors -->
9
+ <property name="behaviors" purge="false">
10
+ <element value="solr.fields" />
11
+ </property>
12
+
13
+ </object>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
3
+ meta_type="Dexterity FTI"
4
+ name="File"
5
+ i18n:domain="plone"
6
+ >
7
+
8
+ <!-- Enabled behaviors -->
9
+ <property name="behaviors" purge="false">
10
+ <element value="solr.fields" />
11
+ </property>
12
+
13
+ </object>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
3
+ meta_type="Dexterity FTI"
4
+ name="Image"
5
+ i18n:domain="plone"
6
+ >
7
+
8
+ <!-- Enabled behaviors -->
9
+ <property name="behaviors" purge="false">
10
+ <element value="solr.fields" />
11
+ </property>
12
+
13
+ </object>
@@ -38,4 +38,9 @@
38
38
  <property name="view_methods">
39
39
  <element value="link_redirect_view"/>
40
40
  </property>
41
+
42
+ <!-- Enabled behaviors -->
43
+ <property name="behaviors" purge="false">
44
+ <element value="solr.fields" />
45
+ </property>
41
46
  </object>