imio.smartweb.core 1.2.38__py3-none-any.whl → 1.2.79__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 (222) 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/controlpanel.py +43 -0
  4. imio/smartweb/core/browser/faceted/block_view.pt +4 -4
  5. imio/smartweb/core/browser/faceted/summary_view.pt +4 -4
  6. imio/smartweb/core/browser/sitemap.py +10 -3
  7. imio/smartweb/core/browser/static/icons/action-delete.svg +3 -0
  8. imio/smartweb/core/browser/static/icons/action-engagement-2.svg +4 -0
  9. imio/smartweb/core/browser/static/icons/action-panneaux.svg +3 -0
  10. imio/smartweb/core/browser/static/icons/action-vote.svg +3 -0
  11. imio/smartweb/core/browser/static/icons/categorie-attention.svg +3 -0
  12. imio/smartweb/core/browser/static/icons/categorie-infos-travaux-2.svg +4 -0
  13. imio/smartweb/core/browser/static/icons/categorie-nature.svg +3 -0
  14. imio/smartweb/core/browser/static/icons/categorie-parcs-a-conteneurs.svg +4 -0
  15. imio/smartweb/core/browser/static/icons/categorie-plus.svg +3 -0
  16. imio/smartweb/core/browser/static/icons/categorie-primes-2.svg +5 -0
  17. imio/smartweb/core/browser/static/icons/categorie-sport-natation.svg +4 -0
  18. imio/smartweb/core/browser/static/icons/organisation-ecole-sac.svg +4 -0
  19. imio/smartweb/core/browser/static/icons/organisation-scout.svg +3 -0
  20. imio/smartweb/core/browser/static/icons/reseausocial-behance.svg +3 -0
  21. imio/smartweb/core/browser/static/icons/reseausocial-linkedin.svg +3 -0
  22. imio/smartweb/core/browser/static/smartweb-edit-compiled.css +1 -1
  23. imio/smartweb/core/browser/static/smartweb-view-compiled.css +1 -1
  24. imio/smartweb/core/browser/static/src/edit.less +42 -0
  25. imio/smartweb/core/browser/static/src/view.less +109 -56
  26. imio/smartweb/core/browser/vocabulary.py +8 -3
  27. imio/smartweb/core/contents/__init__.py +2 -0
  28. imio/smartweb/core/contents/configure.zcml +1 -0
  29. imio/smartweb/core/contents/folder/block_view.pt +8 -8
  30. imio/smartweb/core/contents/folder/summary_view.pt +4 -4
  31. imio/smartweb/core/contents/pages/cirkwi/content.py +5 -0
  32. imio/smartweb/core/contents/pages/cirkwi/view.py +2 -1
  33. imio/smartweb/core/contents/pages/configure.zcml +1 -0
  34. imio/smartweb/core/contents/pages/portal_page/view.py +3 -0
  35. imio/smartweb/core/contents/pages/views.py +47 -1
  36. imio/smartweb/core/contents/publication/__init__.py +0 -0
  37. imio/smartweb/core/contents/publication/configure.zcml +5 -0
  38. imio/smartweb/core/contents/publication/content.py +23 -0
  39. imio/smartweb/core/contents/rest/base.py +9 -7
  40. imio/smartweb/core/contents/rest/directory/endpoint.py +2 -2
  41. imio/smartweb/core/contents/rest/directory/view.pt +2 -1
  42. imio/smartweb/core/contents/rest/events/content.py +13 -0
  43. imio/smartweb/core/contents/rest/events/endpoint.py +5 -3
  44. imio/smartweb/core/contents/rest/events/view.pt +5 -1
  45. imio/smartweb/core/contents/rest/events/view.py +12 -0
  46. imio/smartweb/core/contents/rest/news/content.py +6 -0
  47. imio/smartweb/core/contents/rest/news/endpoint.py +4 -2
  48. imio/smartweb/core/contents/rest/news/view.pt +4 -1
  49. imio/smartweb/core/contents/rest/news/view.py +8 -0
  50. imio/smartweb/core/contents/rest/utils.py +0 -1
  51. imio/smartweb/core/contents/rest/view.py +4 -0
  52. imio/smartweb/core/contents/sections/common_templates/carousel.pt +5 -1
  53. imio/smartweb/core/contents/sections/common_templates/table.pt +18 -4
  54. imio/smartweb/core/contents/sections/configure.zcml +18 -0
  55. imio/smartweb/core/contents/sections/contact/content.py +2 -2
  56. imio/smartweb/core/contents/sections/contact/macros.pt +28 -3
  57. imio/smartweb/core/contents/sections/contact/utils.py +2 -0
  58. imio/smartweb/core/contents/sections/contact/view.py +28 -12
  59. imio/smartweb/core/contents/sections/events/content.py +12 -4
  60. imio/smartweb/core/contents/sections/events/view.py +20 -2
  61. imio/smartweb/core/contents/sections/external_content/view.pt +4 -4
  62. imio/smartweb/core/contents/sections/external_content/views.py +6 -4
  63. imio/smartweb/core/contents/sections/files/content.py +7 -1
  64. imio/smartweb/core/contents/sections/files/view.py +43 -12
  65. imio/smartweb/core/contents/sections/links/view.py +5 -0
  66. imio/smartweb/core/contents/sections/macros.pt +26 -0
  67. imio/smartweb/core/contents/sections/news/content.py +11 -3
  68. imio/smartweb/core/contents/sections/news/view.py +20 -2
  69. imio/smartweb/core/contents/sections/text/views.py +2 -0
  70. imio/smartweb/core/contents/sections/views.py +73 -10
  71. imio/smartweb/core/interfaces.py +4 -0
  72. imio/smartweb/core/profiles/default/metadata.xml +1 -1
  73. imio/smartweb/core/profiles/default/taxonomies/page_category.xml +16 -0
  74. imio/smartweb/core/profiles/default/taxonomies/procedure_category.xml +26 -0
  75. imio/smartweb/core/profiles/default/types/imio.smartweb.EventsView.xml +1 -0
  76. imio/smartweb/core/profiles/default/types/imio.smartweb.NewsView.xml +1 -0
  77. imio/smartweb/core/profiles/default/types/imio.smartweb.Publication.xml +38 -0
  78. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionEvents.xml +1 -0
  79. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionFiles.xml +2 -0
  80. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionNews.xml +1 -0
  81. imio/smartweb/core/profiles/default/types.xml +1 -0
  82. imio/smartweb/core/profiles/icons/basic/registry.xml +120 -0
  83. imio/smartweb/core/rest/authentic_sources.py +17 -2
  84. imio/smartweb/core/subscribers.py +48 -0
  85. imio/smartweb/core/subscribers.zcml +12 -0
  86. imio/smartweb/core/tests/resources/json_iadeliberations_institutions.json +60 -0
  87. imio/smartweb/core/tests/resources/json_iadeliberations_publication.json +105 -0
  88. imio/smartweb/core/tests/resources/json_iadeliberations_publications.json +270 -0
  89. imio/smartweb/core/tests/resources/json_rest_events.json +6 -2
  90. imio/smartweb/core/tests/resources/json_rest_news.json +2 -2
  91. imio/smartweb/core/tests/resources/json_rest_specific_events.json +1 -1
  92. imio/smartweb/core/tests/test_htmx_in_sections.py +131 -0
  93. imio/smartweb/core/tests/test_iadeliberations.py +136 -0
  94. imio/smartweb/core/tests/test_icons.py +1 -1
  95. imio/smartweb/core/tests/test_rest.py +58 -17
  96. imio/smartweb/core/tests/test_section_contact.py +42 -10
  97. imio/smartweb/core/tests/test_section_events.py +28 -5
  98. imio/smartweb/core/tests/test_section_external_content.py +28 -2
  99. imio/smartweb/core/tests/test_section_news.py +30 -8
  100. imio/smartweb/core/tests/test_sections.py +17 -0
  101. imio/smartweb/core/tests/test_vocabularies.py +60 -3
  102. imio/smartweb/core/tests/test_vocabulary.py +43 -0
  103. imio/smartweb/core/upgrades/configure.zcml +108 -0
  104. imio/smartweb/core/upgrades/profiles/1055_to_1056/types/imio.smartweb.SectionFiles.xml +12 -0
  105. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.EventsView.xml +11 -0
  106. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.NewsView.xml +11 -0
  107. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.SectionEvents.xml +11 -0
  108. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.SectionNews.xml +11 -0
  109. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/page_category.cfg +9 -0
  110. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/page_category.xml +73 -0
  111. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/procedure_category.cfg +9 -0
  112. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/procedure_category.xml +118 -0
  113. imio/smartweb/core/upgrades/profiles/1058_to_1059/registry/linkedin-icon.xml +126 -0
  114. imio/smartweb/core/upgrades/profiles/1059_to_1060/registry/iadeliberation.xml +9 -0
  115. imio/smartweb/core/upgrades/profiles/1060_to_1061/types/imio.smartweb.Publication.xml +38 -0
  116. imio/smartweb/core/upgrades/profiles/1060_to_1061/types/imio.smartweb.SectionFiles.xml +11 -0
  117. imio/smartweb/core/upgrades/profiles/1060_to_1061/types.xml +4 -0
  118. imio/smartweb/core/upgrades/profiles/1060_to_1061/workflows.xml +6 -0
  119. imio/smartweb/core/utils.py +33 -2
  120. imio/smartweb/core/viewlets/configure.zcml +23 -1
  121. imio/smartweb/core/viewlets/footer.pt +5 -0
  122. imio/smartweb/core/viewlets/footer.py +5 -0
  123. imio/smartweb/core/viewlets/htmx.py +15 -0
  124. imio/smartweb/core/viewlets/htmx_js_header.pt +64 -0
  125. imio/smartweb/core/viewlets/ogptags.py +4 -3
  126. imio/smartweb/core/viewlets/social.py +23 -0
  127. imio/smartweb/core/vocabularies.py +65 -3
  128. imio/smartweb/core/vocabularies.zcml +18 -0
  129. imio/smartweb/core/webcomponents/build/1c1605a5fe9a2b10a88f.png +1 -0
  130. imio/smartweb/core/webcomponents/build/524db40e119aa11f4478.png +1 -0
  131. imio/smartweb/core/webcomponents/build/57d3b7cb1ab874660b39.svg +1 -0
  132. imio/smartweb/core/webcomponents/build/6cf03871df23ed2ee8b3.png +1 -0
  133. imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css +1 -1
  134. imio/smartweb/core/webcomponents/build/css/486.smartweb-webcomponents-compiled.css +1 -1
  135. imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css +1 -0
  136. imio/smartweb/core/webcomponents/build/css/919.smartweb-webcomponents-compiled.css +1 -1
  137. imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
  138. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js +1 -1
  139. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js.LICENSE.txt +10 -8
  140. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +2 -1
  141. imio/smartweb/core/webcomponents/build/js/{568.smartweb-webcomponents-compiled.js.LICENSE.txt → 373.smartweb-webcomponents-compiled.js.LICENSE.txt} +0 -4
  142. imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -1
  143. imio/smartweb/core/webcomponents/build/js/499.smartweb-webcomponents-compiled.js +2 -0
  144. imio/smartweb/core/webcomponents/build/js/{674.smartweb-webcomponents-compiled.js.LICENSE.txt → 499.smartweb-webcomponents-compiled.js.LICENSE.txt} +1 -8
  145. imio/smartweb/core/webcomponents/build/js/799.smartweb-webcomponents-compiled.js +1 -1
  146. imio/smartweb/core/webcomponents/build/js/824.smartweb-webcomponents-compiled.js +2 -0
  147. imio/smartweb/core/webcomponents/build/js/828.smartweb-webcomponents-compiled.js +2 -0
  148. imio/smartweb/core/webcomponents/build/js/828.smartweb-webcomponents-compiled.js.LICENSE.txt +32 -0
  149. imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -0
  150. imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -1
  151. imio/smartweb/core/webcomponents/build/js/{568.smartweb-webcomponents-compiled.js → 963.smartweb-webcomponents-compiled.js} +2 -2
  152. imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js.LICENSE.txt +3 -0
  153. imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js +1 -1
  154. imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js.LICENSE.txt +11 -14
  155. imio/smartweb/core/webcomponents/package.json +42 -40
  156. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +146 -79
  157. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.scss +415 -351
  158. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactCard/ContactCard.jsx +95 -62
  159. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +328 -168
  160. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactList/ContactList.jsx +21 -4
  161. imio/smartweb/core/webcomponents/src/components/Annuaire/Filters/Filter.jsx +213 -100
  162. imio/smartweb/core/webcomponents/src/components/Annuaire/index.js +1 -1
  163. imio/smartweb/core/webcomponents/src/components/Events/EventCard/EventCard.jsx +76 -33
  164. imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +604 -377
  165. imio/smartweb/core/webcomponents/src/components/Events/EventList/EventList.jsx +29 -4
  166. imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +162 -88
  167. imio/smartweb/core/webcomponents/src/components/Events/Events.scss +496 -378
  168. imio/smartweb/core/webcomponents/src/components/Events/Filters/Filter.jsx +259 -91
  169. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.jsx +62 -55
  170. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.scss +68 -17
  171. imio/smartweb/core/webcomponents/src/components/Filters/IamData.jsx +42 -0
  172. imio/smartweb/core/webcomponents/src/components/Filters/MainFilter.scss +229 -0
  173. imio/smartweb/core/webcomponents/src/components/Filters/PublicTargetData.jsx +94 -0
  174. imio/smartweb/core/webcomponents/src/components/Filters/SelectStyles.js +58 -0
  175. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.jsx +149 -0
  176. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.scss +70 -0
  177. imio/smartweb/core/webcomponents/src/components/News/Filters/Filter.jsx +139 -83
  178. imio/smartweb/core/webcomponents/src/components/News/News.jsx +133 -67
  179. imio/smartweb/core/webcomponents/src/components/News/News.scss +170 -127
  180. imio/smartweb/core/webcomponents/src/components/News/NewsCard/NewsCard.jsx +76 -44
  181. imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +261 -188
  182. imio/smartweb/core/webcomponents/src/components/News/NewsList/NewsList.jsx +48 -9
  183. imio/smartweb/core/webcomponents/src/components/Search/ContactResult/ContactResult.jsx +21 -10
  184. imio/smartweb/core/webcomponents/src/components/Search/EventsResult/EventsResult.jsx +21 -10
  185. imio/smartweb/core/webcomponents/src/components/Search/Filters/Filter.jsx +8 -9
  186. imio/smartweb/core/webcomponents/src/components/Search/NewsResult/NewsResult.jsx +23 -12
  187. imio/smartweb/core/webcomponents/src/components/Search/Search.jsx +7 -6
  188. imio/smartweb/core/webcomponents/src/components/Search/Search.scss +115 -96
  189. imio/smartweb/core/webcomponents/src/components/Search/WebResult/WebResult.jsx +12 -3
  190. imio/smartweb/core/webcomponents/src/components/Search/index.js +1 -1
  191. imio/smartweb/core/webcomponents/src/hooks/ScrollContext.jsx +3 -0
  192. imio/smartweb/core/webcomponents/src/hooks/useAxios.js +3 -3
  193. imio/smartweb/core/webcomponents/src/hooks/useFilterQuery.js +1 -2
  194. imio/smartweb/core/webcomponents/src/index.scss +255 -211
  195. imio/smartweb/core/webcomponents/src/utils/Map.jsx +26 -19
  196. imio/smartweb/core/webcomponents/src/utils/Map.scss +2 -2
  197. imio/smartweb/core/webcomponents/src/utils/translation.js +129 -9
  198. imio.smartweb.core-1.2.79-py3.8-nspkg.pth +2 -0
  199. {imio.smartweb.core-1.2.38.dist-info → imio.smartweb.core-1.2.79.dist-info}/METADATA +403 -10
  200. {imio.smartweb.core-1.2.38.dist-info → imio.smartweb.core-1.2.79.dist-info}/RECORD +206 -160
  201. {imio.smartweb.core-1.2.38.dist-info → imio.smartweb.core-1.2.79.dist-info}/WHEEL +1 -1
  202. imio/smartweb/core/webcomponents/build/assets/location-bla.1423bcce16ddcb21141430cac1428dc1.svg +0 -1
  203. imio/smartweb/core/webcomponents/build/assets/next-react-white.819cb069ac8eec300a9db6a7707712d6.svg +0 -1
  204. imio/smartweb/core/webcomponents/build/assets/next-react.17bc43ff4a6a86f4520f5782f6a89a72.svg +0 -1
  205. imio/smartweb/core/webcomponents/build/assets/search.57bdbf5b191499cd77514097d1c4972c.svg +0 -1
  206. imio/smartweb/core/webcomponents/build/css/686.smartweb-webcomponents-compiled.css +0 -1
  207. imio/smartweb/core/webcomponents/build/js/209.smartweb-webcomponents-compiled.js +0 -2
  208. imio/smartweb/core/webcomponents/build/js/40.smartweb-webcomponents-compiled.js +0 -1
  209. imio/smartweb/core/webcomponents/build/js/674.smartweb-webcomponents-compiled.js +0 -2
  210. imio/smartweb/core/webcomponents/build/js/686.smartweb-webcomponents-compiled.js +0 -1
  211. imio/smartweb/core/webcomponents/src/assets/facebook-news.svg +0 -1
  212. imio/smartweb/core/webcomponents/src/assets/location-bla.svg +0 -1
  213. imio/smartweb/core/webcomponents/src/assets/next-react.svg +0 -1
  214. imio/smartweb/core/webcomponents/src/assets/search.svg +0 -1
  215. imio/smartweb/core/webcomponents/src/assets/skeleton.svg +0 -1
  216. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/download.svg +0 -1
  217. imio.smartweb.core-1.2.38-py3.8-nspkg.pth +0 -3
  218. /imio/smartweb/core/webcomponents/build/js/{209.smartweb-webcomponents-compiled.js.LICENSE.txt → 824.smartweb-webcomponents-compiled.js.LICENSE.txt} +0 -0
  219. {imio.smartweb.core-1.2.38.dist-info → imio.smartweb.core-1.2.79.dist-info}/LICENSE.GPL +0 -0
  220. {imio.smartweb.core-1.2.38.dist-info → imio.smartweb.core-1.2.79.dist-info}/LICENSE.rst +0 -0
  221. {imio.smartweb.core-1.2.38.dist-info → imio.smartweb.core-1.2.79.dist-info}/namespace_packages.txt +0 -0
  222. {imio.smartweb.core-1.2.38.dist-info → imio.smartweb.core-1.2.79.dist-info}/top_level.txt +0 -0
@@ -53,7 +53,7 @@ class TestSectionNews(ImioSmartwebTestCase):
53
53
  self.assertIn("My news", view())
54
54
  news_view = queryMultiAdapter((self.news, self.request), name="carousel_view")
55
55
  self.assertEqual(news_view.items, [])
56
- url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
56
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
57
57
  m.get(url, text=json.dumps(self.json_news))
58
58
  self.assertEqual(news_view.items[0][0].get("title"), "Première actualité")
59
59
  self.assertEqual(len(news_view.items[0]), 3)
@@ -62,7 +62,7 @@ class TestSectionNews(ImioSmartwebTestCase):
62
62
  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
63
63
  "bfe2b4391a0f4a8db6d8b7fed63d1c4a",
64
64
  ]
65
- url = "http://localhost:8080/Plone/@search?UID=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&UID=bfe2b4391a0f4a8db6d8b7fed63d1c4a&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1"
65
+ url = "http://localhost:8080/Plone/@search?UID=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&UID=bfe2b4391a0f4a8db6d8b7fed63d1c4a&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1"
66
66
  m.get(url, text=json.dumps(self.json_specific_news))
67
67
  self.assertEqual(len(news_view.items[0]), 2)
68
68
  self.assertEqual(
@@ -87,7 +87,7 @@ class TestSectionNews(ImioSmartwebTestCase):
87
87
  self.assertIsNone(annotations.get(SECTION_ITEMS_HASH_KEY))
88
88
 
89
89
  news_view = queryMultiAdapter((self.news, self.request), name="carousel_view")
90
- url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
90
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
91
91
  m.get(url, text=json.dumps(self.json_news))
92
92
  self.assertEqual(len(news_view.items[0]), 3)
93
93
  hash_1 = annotations.get(SECTION_ITEMS_HASH_KEY)
@@ -95,7 +95,7 @@ class TestSectionNews(ImioSmartwebTestCase):
95
95
  first_modification = self.portalpage.ModificationDate()
96
96
 
97
97
  sleep(1)
98
- url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
98
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
99
99
  m.get(url, text="{}")
100
100
  self.assertEqual(len(news_view.items), 0)
101
101
  next_modification = self.portalpage.ModificationDate()
@@ -110,18 +110,40 @@ class TestSectionNews(ImioSmartwebTestCase):
110
110
  self.assertEqual(hash_2, hash_3)
111
111
  self.assertEqual(next_modification, last_modification)
112
112
 
113
+ sleep(1)
114
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
115
+ m.get(url, text=None)
116
+ self.assertEqual(len(news_view.items), 0)
117
+ no_modification = self.portalpage.ModificationDate()
118
+ hash_4 = annotations.get(SECTION_ITEMS_HASH_KEY)
119
+ self.assertEqual(hash_3, hash_4)
120
+ self.assertEqual(last_modification, no_modification)
121
+
113
122
  @requests_mock.Mocker()
114
123
  def test_orientation(self, m):
115
124
  intids = getUtility(IIntIds)
116
125
  self.news.related_news = "64f4cbee9a394a018a951f6d94452914"
117
126
  self.news.linking_rest_view = RelationValue(intids.getId(self.rest_news_view))
118
- annotations = IAnnotations(self.news)
119
- self.assertIsNone(annotations.get(SECTION_ITEMS_HASH_KEY))
120
-
121
127
  news_view = queryMultiAdapter((self.news, self.request), name="carousel_view")
122
- url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
128
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
123
129
  m.get(url, text=json.dumps(self.json_news))
124
130
 
125
131
  self.assertIn("paysage_vignette", news_view.items[0][0]["image"])
126
132
  self.news.orientation = "portrait"
127
133
  self.assertIn("portrait_vignette", news_view.items[0][0]["image"])
134
+
135
+ @requests_mock.Mocker()
136
+ def test_show_categories_or_topics(self, m):
137
+ intids = getUtility(IIntIds)
138
+ self.news.related_news = "64f4cbee9a394a018a951f6d94452914"
139
+ self.news.linking_rest_view = RelationValue(intids.getId(self.rest_news_view))
140
+ news_view = queryMultiAdapter((self.news, self.request), name="carousel_view")
141
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
142
+ m.get(url, text=json.dumps(self.json_news))
143
+ self.assertEqual(news_view.items[0][0]["category"], "Presse")
144
+ self.news.show_categories_or_topics = "category"
145
+ self.assertEqual(news_view.items[0][0]["category"], "Presse")
146
+ self.news.show_categories_or_topics = "topic"
147
+ self.assertEqual(news_view.items[0][0]["category"], "Education")
148
+ self.news.show_categories_or_topics = ""
149
+ self.assertEqual(news_view.items[0][0]["category"], "")
@@ -32,6 +32,12 @@ from zope.lifecycleevent import modified
32
32
  class TestSections(ImioSmartwebTestCase):
33
33
  layer = IMIO_SMARTWEB_CORE_INTEGRATION_TESTING
34
34
 
35
+ def _changeUser(self, loginName):
36
+ logout()
37
+ login(self.portal, loginName)
38
+ self.member = api.user.get_current()
39
+ self.request["AUTHENTICATED_USER"] = self.member
40
+
35
41
  def setUp(self):
36
42
  # Number of sections where there is a title if section is empty.
37
43
  # sectionHTML,...
@@ -545,6 +551,17 @@ class TestSections(ImioSmartwebTestCase):
545
551
  '<a class="table_image" href="http://nohost/plone/page/section-links/my-link" target="_blank">',
546
552
  view(),
547
553
  )
554
+ link.remoteUrl = "http://www.perdu.com"
555
+ view = getMultiAdapter((self.page, self.request), name="full_view")
556
+ self.assertIn("www.perdu.com", view())
557
+ self.assertNotIn(
558
+ 'href="http://nohost/plone/page/section-links/my-link"', view()
559
+ )
560
+ clear_cache(self.request)
561
+ self._changeUser("test")
562
+ view = getMultiAdapter((self.page, self.request), name="full_view")
563
+ self.assertNotIn("www.perdu.com", view())
564
+ self.assertIn('href="http://nohost/plone/page/section-links/my-link"', view())
548
565
 
549
566
  def test_background_style(self):
550
567
  section = api.content.create(
@@ -31,7 +31,7 @@ class TestVocabularies(ImioSmartwebTestCase):
31
31
  self.contact_search_url = "http://localhost:8080/Plone/@search?portal_type=imio.directory.Contact&selected_entities=396907b3b1b04a97896b12cc792c77f8&sort_on=breadcrumb&b_size=1000000&metadata_fields=UID&metadata_fields=breadcrumb"
32
32
 
33
33
  def test_icons(self):
34
- self.assertVocabularyLen("imio.smartweb.vocabulary.Icons", 49)
34
+ self.assertVocabularyLen("imio.smartweb.vocabulary.Icons", 64)
35
35
  vocabulary = get_vocabulary("imio.smartweb.vocabulary.Icons")
36
36
  term = vocabulary.getTerm("action.email")
37
37
  self.assertEqual(term.title, "Action - Email")
@@ -81,6 +81,9 @@ class TestVocabularies(ImioSmartwebTestCase):
81
81
  m.get(GUICHET_URL, text=json.dumps(self.json_procedures_raw_mock))
82
82
  self.assertVocabularyLen("imio.smartweb.vocabulary.PublikProcedures", 0)
83
83
 
84
+ def test_categories_display(self):
85
+ self.assertVocabularyLen("imio.smartweb.vocabulary.CategoriesDisplay", 3)
86
+
84
87
  def test_bootstrap_css(self):
85
88
  self.assertVocabularyLen("imio.smartweb.vocabulary.BootstrapCSS", 6)
86
89
 
@@ -262,7 +265,7 @@ class TestVocabularies(ImioSmartwebTestCase):
262
265
  json_agendas_raw_mock = get_json("resources/json_events_agendas_raw_mock.json")
263
266
  url = f"{config.EVENTS_URL}/imio-events-entity/@search?portal_type=imio.events.Agenda&sort_on=sortable_title&b_size=1000000&metadata_fields=UID"
264
267
  m.get(url, text=json.dumps(json_agendas_raw_mock))
265
- url = f"{config.EVENTS_URL}/@search?selected_agendas=64f4cbee9a394a018a951f6d94452914&selected_agendas=96d3e3299dc74386943e12c4f4fd0b8a&portal_type=imio.events.Event&metadata_fields=category&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=breadcrumb&metadata_fields=UID&event_dates.query=2021-11-15&event_dates.range=min&b_size=1000000"
268
+ url = f"{config.EVENTS_URL}/@search?selected_agendas=64f4cbee9a394a018a951f6d94452914&selected_agendas=96d3e3299dc74386943e12c4f4fd0b8a&portal_type=imio.events.Event&metadata_fields=category_title&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=breadcrumb&metadata_fields=UID&event_dates.query=2021-11-15&event_dates.range=min&b_size=1000000"
266
269
  json_rest_events = get_json("resources/json_rest_events_with_breadcrumbs.json")
267
270
  m.get(url, text=json.dumps(json_rest_events))
268
271
  vocabulary = get_vocabulary("imio.smartweb.vocabulary.EventsFromEntity")
@@ -281,7 +284,7 @@ class TestVocabularies(ImioSmartwebTestCase):
281
284
  )
282
285
  url = f"{config.NEWS_URL}/imio-news-entity/@search?portal_type=imio.news.NewsFolder&sort_on=sortable_title&b_size=1000000&metadata_fields=UID"
283
286
  m.get(url, text=json.dumps(json_newsfolders_raw_mock))
284
- url = f"{config.NEWS_URL}/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&selected_news_folders=96d3e3299dc74386943e12c4f4fd0b8a&portal_type=imio.news.NewsItem&metadata_fields=category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=breadcrumb&metadata_fields=UID&b_size=1000000"
287
+ url = f"{config.NEWS_URL}/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&selected_news_folders=96d3e3299dc74386943e12c4f4fd0b8a&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=breadcrumb&metadata_fields=UID&b_size=1000000"
285
288
  json_rest_news = get_json("resources/json_rest_news.json")
286
289
  m.get(url, text=json.dumps(json_rest_news))
287
290
  vocabulary = get_vocabulary("imio.smartweb.vocabulary.NewsItemsFromEntity")
@@ -292,3 +295,57 @@ class TestVocabularies(ImioSmartwebTestCase):
292
295
 
293
296
  def test_sendinblue_button_position(self):
294
297
  self.assertVocabularyLen("imio.smartweb.vocabulary.SendInBlueButtonPosition", 2)
298
+
299
+ @patch("imio.smartweb.core.vocabularies.get_iadeliberation_url_from_registry")
300
+ @requests_mock.Mocker()
301
+ def test_remote_iadeliberations_institutions(self, m_url, m):
302
+ json_institutions_raw_mock = get_json(
303
+ "resources/json_iadeliberations_institutions.json"
304
+ )
305
+ m_url.return_value = "https://conseil.staging.imio.be"
306
+ url_institutions = f"{m_url.return_value}/@search?portal_type=Institution&metadata_fields=UID&sort_on=sortable_title"
307
+ m.get(url_institutions, text=json.dumps(json_institutions_raw_mock))
308
+ self.assertVocabularyLen(
309
+ "imio.smartweb.vocabulary.IADeliberationsInstitutions", 6
310
+ )
311
+ vocabulary = get_vocabulary(
312
+ "imio.smartweb.vocabulary.IADeliberationsInstitutions"
313
+ )
314
+ self.assertEqual(
315
+ vocabulary.getTerm("https://conseil.staging.imio.be/waremme").title,
316
+ "Waremme",
317
+ )
318
+
319
+ @patch(
320
+ "imio.smartweb.core.vocabularies.get_iadeliberation_institution_from_registry"
321
+ )
322
+ @patch("imio.smartweb.core.vocabularies.get_iadeliberation_url_from_registry")
323
+ @requests_mock.Mocker()
324
+ def test_remote_iadeliberations_publications(self, m_url, m_institution, m):
325
+ json_institutions_raw_mock = get_json(
326
+ "resources/json_iadeliberations_institutions.json"
327
+ )
328
+ m_url.return_value = "https://conseil.staging.imio.be"
329
+ m_institution.return_value = "https://conseil.staging.imio.be/liege"
330
+ url_institutions = (
331
+ f"{m_url.return_value}/@search?portal_type=Institution&metadata_fields=UID"
332
+ )
333
+ m.get(url_institutions, text=json.dumps(json_institutions_raw_mock))
334
+ json_publications_raw_mock = get_json(
335
+ "resources/json_iadeliberations_publications.json"
336
+ )
337
+ url_institution = m_institution.return_value
338
+ url_publications = f"{url_institution}/@search?portal_type=Publication&metadata_fields=UID&review_state=published"
339
+ m.get(url_publications, text=json.dumps(json_publications_raw_mock))
340
+ self.assertVocabularyLen(
341
+ "imio.smartweb.vocabulary.IADeliberationsPublications", 22
342
+ )
343
+ vocabulary = get_vocabulary(
344
+ "imio.smartweb.vocabulary.IADeliberationsPublications"
345
+ )
346
+ self.assertEqual(
347
+ vocabulary.getTerm(
348
+ "autorisation-de-deroger-temporairement-aux-normes-de-bruit-fete-de-la-musique-2023"
349
+ ).title,
350
+ "Autorisation de déroger temporairement aux normes de bruit - Fête de la Musique 2023",
351
+ )
@@ -0,0 +1,43 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ from imio.smartweb.core.testing import IMIO_SMARTWEB_CORE_INTEGRATION_TESTING
4
+ from imio.smartweb.core.testing import ImioSmartwebTestCase
5
+ from plone import api
6
+ from plone.app.testing import setRoles
7
+ from plone.app.testing import TEST_USER_ID
8
+ from unittest.mock import patch
9
+ from zope.component import queryMultiAdapter
10
+
11
+ import json
12
+
13
+
14
+ class TestVocabulary(ImioSmartwebTestCase):
15
+ layer = IMIO_SMARTWEB_CORE_INTEGRATION_TESTING
16
+
17
+ def setUp(self):
18
+ """Custom shared utility setup for tests"""
19
+ self.request = self.layer["request"]
20
+ self.portal = self.layer["portal"]
21
+ setRoles(self.portal, TEST_USER_ID, ["Manager"])
22
+ self.page = api.content.create(
23
+ container=self.portal,
24
+ type="imio.smartweb.Page",
25
+ title="My Page",
26
+ )
27
+
28
+ def test_getvocabulary(self):
29
+ self.request.form = {
30
+ "name": "imio.smartweb.vocabulary.Topics",
31
+ "field": "topics",
32
+ }
33
+ view = queryMultiAdapter((self.page, self.request), name="getVocabulary")
34
+ result = json.loads(view())
35
+ self.assertEqual(result["results"][0]["id"], "entertainment")
36
+ self.assertEqual(result["results"][0]["text"], "Entertainment")
37
+ with patch("plone.api.portal.get_current_language", return_value="fr"):
38
+ view = queryMultiAdapter((self.page, self.request), name="getVocabulary")
39
+ result = json.loads(view())
40
+ self.assertEqual(result["results"][0]["id"], "entertainment")
41
+ self.assertEqual(
42
+ result["results"][0]["text"], "Activités et divertissement"
43
+ )
@@ -219,6 +219,54 @@
219
219
  provides="Products.GenericSetup.interfaces.EXTENSION"
220
220
  />
221
221
 
222
+ <genericsetup:registerProfile
223
+ name="upgrade_1055_to_1056"
224
+ title="Upgrade core from 1055 to 1056"
225
+ directory="profiles/1055_to_1056"
226
+ description="Add imio.smartweb.orientation to section files"
227
+ provides="Products.GenericSetup.interfaces.EXTENSION"
228
+ />
229
+
230
+ <genericsetup:registerProfile
231
+ name="upgrade_1056_to_1057"
232
+ title="Upgrade core from 1056 to 1057"
233
+ directory="profiles/1056_to_1057"
234
+ description="Add imio.smartweb.category_display behavior on content types"
235
+ provides="Products.GenericSetup.interfaces.EXTENSION"
236
+ />
237
+
238
+ <genericsetup:registerProfile
239
+ name="upgrade_1057_to_1058"
240
+ title="Upgrade core from 1057 to 1058"
241
+ directory="profiles/1057_to_1058"
242
+ description="Update page/procedure categories taxonomies to add DE and NL translations"
243
+ provides="Products.GenericSetup.interfaces.EXTENSION"
244
+ />
245
+
246
+ <genericsetup:registerProfile
247
+ name="upgrade_1058_to_1059"
248
+ title="Upgrade core from 1058 to 1059"
249
+ directory="profiles/1058_to_1059"
250
+ description="Add new linkedin icon to registry"
251
+ provides="Products.GenericSetup.interfaces.EXTENSION"
252
+ />
253
+
254
+ <genericsetup:registerProfile
255
+ name="upgrade_1059_to_1060"
256
+ title="Upgrade core from 1059 to 1060"
257
+ directory="profiles/1059_to_1060"
258
+ description="Add ia.deliberations registry key"
259
+ provides="Products.GenericSetup.interfaces.EXTENSION"
260
+ />
261
+
262
+ <genericsetup:registerProfile
263
+ name="upgrade_1060_to_1061"
264
+ title="Upgrade core from 1060 to 1061"
265
+ directory="profiles/1060_to_1061"
266
+ description="Add new content type : imio.smartweb.Publication and authorize it in SectionFiles"
267
+ provides="Products.GenericSetup.interfaces.EXTENSION"
268
+ />
269
+
222
270
  <genericsetup:upgradeStep
223
271
  title="Configure first official release"
224
272
  description="Run needed profiles steps and reindex catalog"
@@ -783,4 +831,64 @@
783
831
  />
784
832
  </genericsetup:upgradeSteps>
785
833
 
834
+ <genericsetup:upgradeSteps
835
+ source="1055"
836
+ destination="1056"
837
+ profile="imio.smartweb.core:default">
838
+ <genericsetup:upgradeDepends
839
+ title="Add imio.smartweb.orientation to section files"
840
+ import_profile="imio.smartweb.core.upgrades:upgrade_1055_to_1056"
841
+ />
842
+ </genericsetup:upgradeSteps>
843
+
844
+ <genericsetup:upgradeSteps
845
+ source="1056"
846
+ destination="1057"
847
+ profile="imio.smartweb.core:default">
848
+ <genericsetup:upgradeDepends
849
+ title="Add imio.smartweb.category_display behavior on content types"
850
+ import_profile="imio.smartweb.core.upgrades:upgrade_1056_to_1057"
851
+ />
852
+ </genericsetup:upgradeSteps>
853
+
854
+ <genericsetup:upgradeSteps
855
+ source="1057"
856
+ destination="1058"
857
+ profile="imio.smartweb.core:default">
858
+ <genericsetup:upgradeDepends
859
+ title="Update page/procedure categories taxonomies to add DE and NL translations"
860
+ import_profile="imio.smartweb.core.upgrades:upgrade_1057_to_1058"
861
+ />
862
+ </genericsetup:upgradeSteps>
863
+
864
+ <genericsetup:upgradeSteps
865
+ source="1058"
866
+ destination="1059"
867
+ profile="imio.smartweb.core:default">
868
+ <genericsetup:upgradeDepends
869
+ title="Add new smartweb icon"
870
+ import_profile="imio.smartweb.core.upgrades:upgrade_1058_to_1059"
871
+ />
872
+ </genericsetup:upgradeSteps>
873
+
874
+ <genericsetup:upgradeSteps
875
+ source="1059"
876
+ destination="1060"
877
+ profile="imio.smartweb.core:default">
878
+ <genericsetup:upgradeDepends
879
+ title="Add ia.deliberations registry key"
880
+ import_profile="imio.smartweb.core.upgrades:upgrade_1059_to_1060"
881
+ />
882
+ </genericsetup:upgradeSteps>
883
+
884
+ <genericsetup:upgradeSteps
885
+ source="1060"
886
+ destination="1061"
887
+ profile="imio.smartweb.core:default">
888
+ <genericsetup:upgradeDepends
889
+ title="Add new content type : imio.smartweb.Publication and authorize it in SectionFiles"
890
+ import_profile="imio.smartweb.core.upgrades:upgrade_1060_to_1061"
891
+ />
892
+ </genericsetup:upgradeSteps>
893
+
786
894
  </configure>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0"?>
2
+ <object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
3
+ name="imio.smartweb.SectionHTML"
4
+ meta_type="Dexterity FTI"
5
+ i18n:domain="imio.smartweb">
6
+
7
+ <!-- Enabled behaviors -->
8
+ <property name="behaviors" purge="false">
9
+ <element value="imio.smartweb.orientation"/>
10
+ </property>
11
+
12
+ </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="imio.smartweb.category_display"/>
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="imio.smartweb.category_display"/>
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.SectionEvents"
4
+ meta_type="Dexterity FTI"
5
+ i18n:domain="imio.smartweb">
6
+
7
+ <property name="behaviors" purge="false">
8
+ <element value="imio.smartweb.category_display"/>
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.SectionNews"
4
+ meta_type="Dexterity FTI"
5
+ i18n:domain="imio.smartweb">
6
+
7
+ <property name="behaviors" purge="false">
8
+ <element value="imio.smartweb.category_display"/>
9
+ </property>
10
+
11
+ </object>
@@ -0,0 +1,9 @@
1
+ [taxonomy]
2
+ name = page_category
3
+ title = Catégorie d'une page
4
+ default_language = fr
5
+ field_title = Catégorie
6
+ field_description = Important! Ces catégories sont utilisées pour créer des listes accessibles via le menu navigation
7
+ taxonomy_fieldset = categorization
8
+ is_single_select = true
9
+ is_required = false
@@ -0,0 +1,73 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <vdex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.imsglobal.org/xsd/imsvdex_v1p0" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsvdex_v1p0 imsvdex_v1p0.xsd http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd" profileType="hierarchicalTokenTerms" orderSignificant="false" language="fr">
3
+ <vocabName>
4
+ <langstring language="fr">Catégorie d'une page</langstring>
5
+ <langstring language="en">Page category</langstring>
6
+ <langstring language="nl">Paginacategorie</langstring>
7
+ <langstring language="de">Seitenkategorie</langstring>
8
+ </vocabName>
9
+ <vocabIdentifier>page_category</vocabIdentifier>
10
+ <term>
11
+ <termIdentifier>avis_et_enquete</termIdentifier>
12
+ <caption>
13
+ <langstring language="fr">Avis et enquête</langstring>
14
+ <langstring language="en">Advice and enquiry</langstring>
15
+ <langstring language="nl">Advies en onderzoek</langstring>
16
+ <langstring language="de">Gutachten und Untersuchung</langstring>
17
+ </caption>
18
+ </term>
19
+ <term>
20
+ <termIdentifier>emploi</termIdentifier>
21
+ <caption>
22
+ <langstring language="fr">Emploi</langstring>
23
+ <langstring language="en">Job</langstring>
24
+ <langstring language="nl">Werk</langstring>
25
+ <langstring language="de">Arbeit</langstring>
26
+ </caption>
27
+ </term>
28
+ <term>
29
+ <termIdentifier>info_travaux</termIdentifier>
30
+ <caption>
31
+ <langstring language="fr">Info travaux</langstring>
32
+ <langstring language="en">Works information</langstring>
33
+ <langstring language="nl">Werkinformatie</langstring>
34
+ <langstring language="de">Arbeitsinformation</langstring>
35
+ </caption>
36
+ </term>
37
+ <term>
38
+ <termIdentifier>presse</termIdentifier>
39
+ <caption>
40
+ <langstring language="fr">Presse</langstring>
41
+ <langstring language="en">Press</langstring>
42
+ <langstring language="nl">Pers</langstring>
43
+ <langstring language="de">Presse</langstring>
44
+ </caption>
45
+ </term>
46
+ <term>
47
+ <termIdentifier>publication</termIdentifier>
48
+ <caption>
49
+ <langstring language="fr">Publication</langstring>
50
+ <langstring language="en">Publication</langstring>
51
+ <langstring language="nl">Publicatie</langstring>
52
+ <langstring language="de">Veröffentlichung</langstring>
53
+ </caption>
54
+ </term>
55
+ <term>
56
+ <termIdentifier>reglement</termIdentifier>
57
+ <caption>
58
+ <langstring language="fr">Règlement</langstring>
59
+ <langstring language="en">Regulation</langstring>
60
+ <langstring language="nl">Regelgeving</langstring>
61
+ <langstring language="de">Vorschrift</langstring>
62
+ </caption>
63
+ </term>
64
+ <term>
65
+ <termIdentifier>taxe_et_redevance</termIdentifier>
66
+ <caption>
67
+ <langstring language="fr">Taxe et redevance</langstring>
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>
71
+ </caption>
72
+ </term>
73
+ </vdex>
@@ -0,0 +1,9 @@
1
+ [taxonomy]
2
+ name = procedure_category
3
+ title = Catégorie d'une démarche
4
+ default_language = fr
5
+ field_title = Catégorie
6
+ field_description = Important! Ces catégories sont utilisées pour créer des listes accessibles via le menu navigation
7
+ taxonomy_fieldset = categorization
8
+ is_single_select = true
9
+ is_required = false
@@ -0,0 +1,118 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <vdex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.imsglobal.org/xsd/imsvdex_v1p0" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsvdex_v1p0 imsvdex_v1p0.xsd http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd" profileType="hierarchicalTokenTerms" orderSignificant="false" language="fr">
3
+ <vocabName>
4
+ <langstring language="fr">Catégorie d'une démarche</langstring>
5
+ <langstring language="en">Procedure category</langstring>
6
+ <langstring language="nl">Procedurecategorie</langstring>
7
+ <langstring language="de">Verfahrenskategorie</langstring>
8
+ </vocabName>
9
+ <vocabIdentifier>procedure_category</vocabIdentifier>
10
+ <term>
11
+ <termIdentifier>actes</termIdentifier>
12
+ <caption>
13
+ <langstring language="fr">Acte (naissance, mariage, décès, etc.)</langstring>
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>
17
+ </caption>
18
+ </term>
19
+ <term>
20
+ <termIdentifier>autorisation_carte</termIdentifier>
21
+ <caption>
22
+ <langstring language="fr">Autorisation et carte</langstring>
23
+ <langstring language="en">Authorization and card</langstring>
24
+ <langstring language="nl">Vergunning en kaart</langstring>
25
+ <langstring language="de">Genehmigung und Karte</langstring>
26
+ </caption>
27
+ </term>
28
+ <term>
29
+ <termIdentifier>certificat</termIdentifier>
30
+ <caption>
31
+ <langstring language="fr">Certificat (de vie, d'hérédité, etc.)</langstring>
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>
35
+ </caption>
36
+ </term>
37
+ <term>
38
+ <termIdentifier>declaration</termIdentifier>
39
+ <caption>
40
+ <langstring language="fr">Déclaration</langstring>
41
+ <langstring language="en">Statement</langstring>
42
+ <langstring language="nl">Verklaring</langstring>
43
+ <langstring language="de">Erklärung</langstring>
44
+ </caption>
45
+ </term>
46
+ <term>
47
+ <termIdentifier>demande</termIdentifier>
48
+ <caption>
49
+ <langstring language="fr">Demande (concession funéraire, changement de prénom, etc.)</langstring>
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>
53
+ </caption>
54
+ </term>
55
+ <term>
56
+ <termIdentifier>document_d_identite</termIdentifier>
57
+ <caption>
58
+ <langstring language="fr">Document d'identité</langstring>
59
+ <langstring language="en">Identity document</langstring>
60
+ <langstring language="nl">Identiteitsdocument</langstring>
61
+ <langstring language="de">Ausweisdokument</langstring>
62
+ </caption>
63
+ </term>
64
+ <term>
65
+ <termIdentifier>extrait_de_registre</termIdentifier>
66
+ <caption>
67
+ <langstring language="fr">Extrait de registre</langstring>
68
+ <langstring language="en">Register extract</langstring>
69
+ <langstring language="nl">Uittreksel uit het register</langstring>
70
+ <langstring language="de">Registerauszug</langstring>
71
+ </caption>
72
+ </term>
73
+ <term>
74
+ <termIdentifier>information_pratique</termIdentifier>
75
+ <caption>
76
+ <langstring language="fr">Information pratique</langstring>
77
+ <langstring language="en">Practical information</langstring>
78
+ <langstring language="nl">Praktische informatie</langstring>
79
+ <langstring language="de">Praktische Information</langstring>
80
+ </caption>
81
+ </term>
82
+ <term>
83
+ <termIdentifier>inscription</termIdentifier>
84
+ <caption>
85
+ <langstring language="fr">Inscription</langstring>
86
+ <langstring language="en">Registration</langstring>
87
+ <langstring language="nl">Inschrijving</langstring>
88
+ <langstring language="de">Anmeldung</langstring>
89
+ </caption>
90
+ </term>
91
+ <term>
92
+ <termIdentifier>permis</termIdentifier>
93
+ <caption>
94
+ <langstring language="fr">Permis</langstring>
95
+ <langstring language="en">License</langstring>
96
+ <langstring language="nl">Vergunning</langstring>
97
+ <langstring language="de">Erlaubnis</langstring>
98
+ </caption>
99
+ </term>
100
+ <term>
101
+ <termIdentifier>plainte_et_reclamation</termIdentifier>
102
+ <caption>
103
+ <langstring language="fr">Plainte et réclamation</langstring>
104
+ <langstring language="en">Complaint</langstring>
105
+ <langstring language="nl">Klacht</langstring>
106
+ <langstring language="de">Beschwerde</langstring>
107
+ </caption>
108
+ </term>
109
+ <term>
110
+ <termIdentifier>prime_et_aide</termIdentifier>
111
+ <caption>
112
+ <langstring language="fr">Prime et aide</langstring>
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>
116
+ </caption>
117
+ </term>
118
+ </vdex>