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.
- imio/smartweb/core/behaviors/categorization.py +24 -0
- imio/smartweb/core/behaviors/configure.zcml +7 -0
- imio/smartweb/core/browser/configure.zcml +41 -1
- imio/smartweb/core/browser/controlpanel.py +41 -0
- imio/smartweb/core/browser/dashboards/configure.zcml +0 -2
- imio/smartweb/core/browser/dashboards/plausible.py +4 -4
- imio/smartweb/core/browser/faceted/block_view.pt +4 -4
- imio/smartweb/core/browser/faceted/summary_view.pt +4 -4
- imio/smartweb/core/browser/forms.py +3 -3
- imio/smartweb/core/browser/redirect_to_main_react_view.py +52 -0
- imio/smartweb/core/browser/search/search.pt +2 -1
- imio/smartweb/core/browser/search/search.py +4 -0
- imio/smartweb/core/browser/sitemap.py +148 -0
- imio/smartweb/core/browser/static/icons/action-delete.svg +3 -0
- imio/smartweb/core/browser/static/icons/action-e-guichet.svg +1 -1
- imio/smartweb/core/browser/static/icons/action-email.svg +1 -1
- imio/smartweb/core/browser/static/icons/action-engagement-2.svg +4 -0
- imio/smartweb/core/browser/static/icons/action-engagement.svg +1 -1
- imio/smartweb/core/browser/static/icons/action-nous-contacter.svg +1 -1
- imio/smartweb/core/browser/static/icons/action-nous-rejoindre.svg +2 -1
- imio/smartweb/core/browser/static/icons/action-organiser-un-evenement.svg +1 -1
- imio/smartweb/core/browser/static/icons/action-panneaux.svg +3 -0
- imio/smartweb/core/browser/static/icons/action-signaler-un-probleme.svg +1 -1
- imio/smartweb/core/browser/static/icons/action-voir-plan.svg +1 -1
- imio/smartweb/core/browser/static/icons/action-vote.svg +3 -0
- imio/smartweb/core/browser/static/icons/categorie-associations.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-attention.svg +3 -0
- imio/smartweb/core/browser/static/icons/categorie-avis-et-enquetes.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-cinema.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-commerce.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-concert.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-culture.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-demarches.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-enfance.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-enseignement.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-environnement-gestion-des-dechets.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-exposition.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-horaires.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-infos-travaux-2.svg +4 -0
- imio/smartweb/core/browser/static/icons/categorie-infos-travaux.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-mandataires.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-mobilite.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-mon-dossier.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-nature.svg +3 -0
- imio/smartweb/core/browser/static/icons/categorie-parc-de-stationnement.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-parcs-a-conteneurs.svg +4 -0
- imio/smartweb/core/browser/static/icons/categorie-parcs-et-jardins.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-plus.svg +3 -0
- imio/smartweb/core/browser/static/icons/categorie-primes-2.svg +5 -0
- imio/smartweb/core/browser/static/icons/categorie-primes.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-sport-courir.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-sport-natation.svg +4 -0
- imio/smartweb/core/browser/static/icons/categorie-sport-velo.svg +1 -1
- imio/smartweb/core/browser/static/icons/categorie-tourisme.svg +1 -1
- imio/smartweb/core/browser/static/icons/organisation-academie-musique.svg +1 -1
- imio/smartweb/core/browser/static/icons/organisation-centre-sportif.svg +1 -1
- imio/smartweb/core/browser/static/icons/organisation-cpas.svg +1 -1
- imio/smartweb/core/browser/static/icons/organisation-ecole-des-arts.svg +1 -1
- imio/smartweb/core/browser/static/icons/organisation-ecole-sac.svg +4 -0
- imio/smartweb/core/browser/static/icons/organisation-ecole.svg +1 -1
- imio/smartweb/core/browser/static/icons/organisation-mobilite.svg +1 -1
- imio/smartweb/core/browser/static/icons/organisation-scout.svg +3 -0
- imio/smartweb/core/browser/static/icons/reseausocial-behance.svg +3 -0
- imio/smartweb/core/browser/static/icons/reseausocial-facebook.svg +1 -1
- imio/smartweb/core/browser/static/icons/reseausocial-linkedin.svg +3 -0
- imio/smartweb/core/browser/static/icons/reseausocial-twitter.svg +3 -13
- imio/smartweb/core/browser/static/icons/reseausocial-vimeo.svg +1 -1
- imio/smartweb/core/browser/static/icons/reseausocial-youtube.svg +1 -1
- imio/smartweb/core/browser/static/icons/vue-actualites.svg +1 -1
- imio/smartweb/core/browser/static/icons/vue-agenda.svg +1 -1
- imio/smartweb/core/browser/static/icons/vue-annuaire.svg +1 -1
- imio/smartweb/core/browser/static/smartweb-edit-compiled.css +1 -1
- imio/smartweb/core/browser/static/smartweb-edit-compiled.js +1 -1
- imio/smartweb/core/browser/static/smartweb-view-compiled.css +1 -1
- imio/smartweb/core/browser/static/smartweb-view-compiled.js +1 -1
- imio/smartweb/core/browser/static/src/edit.js +5 -0
- imio/smartweb/core/browser/static/src/edit.less +42 -0
- imio/smartweb/core/browser/static/src/view.js +11 -0
- imio/smartweb/core/browser/static/src/view.less +4 -0
- imio/smartweb/core/browser/utils.py +5 -32
- imio/smartweb/core/browser/vocabulary.py +40 -0
- imio/smartweb/core/contents/__init__.py +4 -0
- imio/smartweb/core/contents/configure.zcml +1 -0
- imio/smartweb/core/contents/cropping.py +1 -1
- imio/smartweb/core/contents/folder/block_view.pt +8 -8
- imio/smartweb/core/contents/folder/summary_view.pt +4 -4
- imio/smartweb/core/contents/pages/cirkwi/content.py +5 -0
- imio/smartweb/core/contents/pages/cirkwi/view.py +2 -1
- imio/smartweb/core/contents/pages/portal_page/view.py +3 -0
- imio/smartweb/core/contents/pages/views.py +3 -1
- imio/smartweb/core/contents/publication/configure.zcml +5 -0
- imio/smartweb/core/contents/publication/content.py +23 -0
- imio/smartweb/core/contents/rest/base.py +24 -10
- imio/smartweb/core/contents/rest/configure.zcml +7 -0
- imio/smartweb/core/contents/rest/directory/content.py +2 -2
- imio/smartweb/core/contents/rest/directory/endpoint.py +2 -2
- imio/smartweb/core/contents/rest/directory/view.pt +3 -1
- imio/smartweb/core/contents/rest/directory/view.py +3 -0
- imio/smartweb/core/contents/rest/events/content.py +15 -2
- imio/smartweb/core/contents/rest/events/endpoint.py +5 -7
- imio/smartweb/core/contents/rest/events/view.pt +6 -1
- imio/smartweb/core/contents/rest/events/view.py +15 -0
- imio/smartweb/core/contents/rest/news/content.py +8 -2
- imio/smartweb/core/contents/rest/news/endpoint.py +4 -2
- imio/smartweb/core/contents/rest/news/view.pt +5 -1
- imio/smartweb/core/contents/rest/news/view.py +11 -0
- imio/smartweb/core/contents/rest/search/endpoint.py +4 -4
- imio/smartweb/core/contents/rest/traversal.py +18 -0
- imio/smartweb/core/contents/rest/utils.py +98 -0
- imio/smartweb/core/contents/rest/view.py +11 -0
- imio/smartweb/core/contents/sections/common_templates/carousel.pt +6 -2
- imio/smartweb/core/contents/sections/common_templates/table.pt +22 -8
- imio/smartweb/core/contents/sections/configure.zcml +18 -0
- imio/smartweb/core/contents/sections/contact/content.py +2 -2
- imio/smartweb/core/contents/sections/contact/utils.py +2 -154
- imio/smartweb/core/contents/sections/events/content.py +12 -4
- imio/smartweb/core/contents/sections/events/view.py +20 -2
- imio/smartweb/core/contents/sections/external_content/configure.zcml +29 -0
- imio/smartweb/core/contents/sections/external_content/view.pt +25 -7
- imio/smartweb/core/contents/sections/external_content/view_idelux_waste.pt +50 -0
- imio/smartweb/core/contents/sections/external_content/view_inbw_containers_affluence.pt +91 -0
- imio/smartweb/core/contents/sections/external_content/view_odwb_widget.pt +20 -0
- imio/smartweb/core/contents/sections/external_content/views.py +306 -125
- imio/smartweb/core/contents/sections/files/content.py +7 -1
- imio/smartweb/core/contents/sections/files/view.py +40 -12
- imio/smartweb/core/contents/sections/links/view.py +5 -0
- imio/smartweb/core/contents/sections/macros.pt +39 -9
- imio/smartweb/core/contents/sections/news/content.py +11 -3
- imio/smartweb/core/contents/sections/news/view.py +20 -2
- imio/smartweb/core/contents/sections/text/view.pt +5 -4
- imio/smartweb/core/contents/sections/text/views.py +2 -0
- imio/smartweb/core/contents/sections/views.py +81 -4
- imio/smartweb/core/interfaces.py +15 -0
- imio/smartweb/core/profiles/default/actions.xml +15 -0
- imio/smartweb/core/profiles/default/diff_tool.xml +8 -0
- imio/smartweb/core/profiles/default/metadata.xml +1 -1
- imio/smartweb/core/profiles/default/registry/plone.xml +21 -4
- imio/smartweb/core/profiles/default/repositorytool.xml +1 -0
- imio/smartweb/core/profiles/default/taxonomies/page_category.xml +16 -0
- imio/smartweb/core/profiles/default/taxonomies/procedure_category.xml +26 -0
- imio/smartweb/core/profiles/default/types/Collection.xml +13 -0
- imio/smartweb/core/profiles/default/types/File.xml +13 -0
- imio/smartweb/core/profiles/default/types/Image.xml +13 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.BlockLink.xml +5 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.CirkwiView.xml +1 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.DirectoryView.xml +1 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.EventsView.xml +2 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.Folder.xml +1 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.NewsView.xml +2 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.Page.xml +1 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.PortalPage.xml +1 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.Procedure.xml +1 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.Publication.xml +38 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.SectionEvents.xml +1 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.SectionFiles.xml +2 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.SectionHTML.xml +0 -1
- imio/smartweb/core/profiles/default/types/imio.smartweb.SectionNews.xml +1 -0
- imio/smartweb/core/profiles/default/types.xml +1 -0
- imio/smartweb/core/profiles/icons/basic/registry.xml +120 -0
- imio/smartweb/core/profiles/testing/types/imio.smartweb.DirectoryView.xml +11 -0
- imio/smartweb/core/profiles/testing/types/imio.smartweb.EventsView.xml +11 -0
- imio/smartweb/core/profiles/testing/types/imio.smartweb.NewsView.xml +11 -0
- imio/smartweb/core/profiles/validation/contentrules.xml +102 -0
- imio/smartweb/core/profiles.zcml +8 -0
- imio/smartweb/core/rest/authentic_sources.py +23 -11
- imio/smartweb/core/subscribers.py +24 -0
- imio/smartweb/core/subscribers.zcml +4 -0
- imio/smartweb/core/tests/resources/json_iadeliberations_institutions.json +60 -0
- imio/smartweb/core/tests/resources/json_iadeliberations_publication.json +105 -0
- imio/smartweb/core/tests/resources/json_iadeliberations_publications.json +270 -0
- imio/smartweb/core/tests/resources/json_rest_events.json +6 -2
- imio/smartweb/core/tests/resources/json_rest_news.json +2 -2
- imio/smartweb/core/tests/resources/json_rest_specific_events.json +1 -1
- imio/smartweb/core/tests/test_cropping.py +4 -4
- imio/smartweb/core/tests/test_htmx_in_sections.py +131 -0
- imio/smartweb/core/tests/test_iadeliberations.py +136 -0
- imio/smartweb/core/tests/test_icons.py +1 -1
- imio/smartweb/core/tests/test_redirect_to_main_react_view.py +79 -0
- imio/smartweb/core/tests/test_rest.py +283 -22
- imio/smartweb/core/tests/test_section_contact.py +2 -2
- imio/smartweb/core/tests/test_section_events.py +28 -5
- imio/smartweb/core/tests/test_section_external_content.py +26 -25
- imio/smartweb/core/tests/test_section_news.py +30 -8
- imio/smartweb/core/tests/test_sections.py +38 -15
- imio/smartweb/core/tests/test_sitemap.py +174 -0
- imio/smartweb/core/tests/test_vocabularies.py +61 -4
- imio/smartweb/core/tests/test_vocabulary.py +43 -0
- imio/smartweb/core/tests/utils.py +15 -0
- imio/smartweb/core/upgrades/configure.zcml +180 -0
- imio/smartweb/core/upgrades/profiles/1051_to_1052/actions.xml +20 -0
- imio/smartweb/core/upgrades/profiles/1052_to_1053/diff_tool.xml +8 -0
- imio/smartweb/core/upgrades/profiles/1052_to_1053/repositorytool.xml +9 -0
- imio/smartweb/core/upgrades/profiles/1052_to_1053/types/imio.smartweb.SectionHTML.xml +14 -0
- imio/smartweb/core/upgrades/profiles/1053_to_1054/registry.xml +39 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/Collection.xml +13 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/File.xml +13 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/Image.xml +13 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.BlockLink.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.CirkwiView.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.DirectoryView.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.EventsView.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.Folder.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.NewsView.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.Page.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.PortalPage.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.Procedure.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1055_to_1056/types/imio.smartweb.SectionFiles.xml +12 -0
- imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.EventsView.xml +11 -0
- imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.NewsView.xml +11 -0
- imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.SectionEvents.xml +11 -0
- imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.SectionNews.xml +11 -0
- imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/page_category.cfg +9 -0
- imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/page_category.xml +73 -0
- imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/procedure_category.cfg +9 -0
- imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/procedure_category.xml +118 -0
- imio/smartweb/core/upgrades/profiles/1058_to_1059/registry/linkedin-icon.xml +126 -0
- imio/smartweb/core/upgrades/profiles/1059_to_1060/registry/iadeliberation.xml +9 -0
- imio/smartweb/core/upgrades/profiles/1060_to_1061/types/imio.smartweb.Publication.xml +38 -0
- imio/smartweb/core/upgrades/profiles/1060_to_1061/types/imio.smartweb.SectionFiles.xml +11 -0
- imio/smartweb/core/upgrades/profiles/1060_to_1061/types.xml +4 -0
- imio/smartweb/core/upgrades/profiles/1060_to_1061/workflows.xml +6 -0
- imio/smartweb/core/utils.py +65 -3
- imio/smartweb/core/viewlets/configure.zcml +43 -0
- imio/smartweb/core/viewlets/external_content.py +13 -5
- imio/smartweb/core/viewlets/footer.pt +5 -0
- imio/smartweb/core/viewlets/footer.py +5 -0
- imio/smartweb/core/viewlets/htmx.py +15 -0
- imio/smartweb/core/viewlets/htmx_js_header.pt +59 -0
- imio/smartweb/core/viewlets/httpheaders.py +13 -0
- imio/smartweb/core/viewlets/odwb_widget_header.pt +19 -0
- imio/smartweb/core/viewlets/offcanvas.pt +2 -1
- imio/smartweb/core/viewlets/ogp_tag_header.pt +19 -0
- imio/smartweb/core/viewlets/ogptags.py +144 -0
- imio/smartweb/core/viewlets/social.py +23 -0
- imio/smartweb/core/vocabularies.py +66 -2
- imio/smartweb/core/vocabularies.zcml +18 -0
- imio/smartweb/core/webcomponents/build/1c1605a5fe9a2b10a88f.png +1 -0
- imio/smartweb/core/webcomponents/build/524db40e119aa11f4478.png +1 -0
- imio/smartweb/core/webcomponents/build/57d3b7cb1ab874660b39.svg +1 -0
- imio/smartweb/core/webcomponents/build/6cf03871df23ed2ee8b3.png +1 -0
- imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css +1 -0
- imio/smartweb/core/webcomponents/build/css/486.smartweb-webcomponents-compiled.css +1 -0
- imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css +1 -0
- imio/smartweb/core/webcomponents/build/css/919.smartweb-webcomponents-compiled.css +1 -0
- imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
- imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js +2 -0
- imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js.LICENSE.txt +16 -0
- imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +2 -0
- imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js.LICENSE.txt +10 -0
- imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -0
- imio/smartweb/core/webcomponents/build/js/499.smartweb-webcomponents-compiled.js +2 -0
- imio/smartweb/core/webcomponents/build/js/{212.smartweb-webcomponents-compiled.js.LICENSE.txt → 499.smartweb-webcomponents-compiled.js.LICENSE.txt} +1 -8
- imio/smartweb/core/webcomponents/build/js/799.smartweb-webcomponents-compiled.js +2 -0
- imio/smartweb/core/webcomponents/build/js/824.smartweb-webcomponents-compiled.js +2 -0
- imio/smartweb/core/webcomponents/build/js/828.smartweb-webcomponents-compiled.js +2 -0
- imio/smartweb/core/webcomponents/build/js/828.smartweb-webcomponents-compiled.js.LICENSE.txt +32 -0
- imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -0
- imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -0
- imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js +2 -0
- imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js.LICENSE.txt +3 -0
- imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js.LICENSE.txt +11 -14
- imio/smartweb/core/webcomponents/package.json +46 -44
- imio/smartweb/core/webcomponents/src/assets/contentIcon/download.svg +1 -0
- imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +160 -92
- imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.scss +250 -157
- imio/smartweb/core/webcomponents/src/components/Annuaire/ContactCard/ContactCard.jsx +113 -81
- imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +394 -188
- imio/smartweb/core/webcomponents/src/components/Annuaire/ContactList/ContactList.jsx +26 -9
- imio/smartweb/core/webcomponents/src/components/Annuaire/Filters/Filter.jsx +213 -100
- imio/smartweb/core/webcomponents/src/components/Annuaire/index.js +1 -1
- imio/smartweb/core/webcomponents/src/components/Events/EventCard/EventCard.jsx +86 -0
- imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +615 -0
- imio/smartweb/core/webcomponents/src/components/Events/EventList/EventList.jsx +67 -0
- imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +181 -103
- imio/smartweb/core/webcomponents/src/components/Events/Events.scss +316 -182
- imio/smartweb/core/webcomponents/src/components/Events/Filters/Filter.jsx +275 -80
- imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.jsx +136 -0
- imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.scss +104 -0
- imio/smartweb/core/webcomponents/src/components/Filters/IamData.jsx +42 -0
- imio/smartweb/core/webcomponents/src/components/Filters/MainFilter.scss +227 -0
- imio/smartweb/core/webcomponents/src/components/Filters/PublicTargetData.jsx +94 -0
- imio/smartweb/core/webcomponents/src/components/Filters/SelectStyles.js +58 -0
- imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.jsx +149 -0
- imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.scss +70 -0
- imio/smartweb/core/webcomponents/src/components/News/Filters/Filter.jsx +139 -83
- imio/smartweb/core/webcomponents/src/components/News/News.jsx +141 -74
- imio/smartweb/core/webcomponents/src/components/News/News.scss +41 -15
- imio/smartweb/core/webcomponents/src/components/News/NewsCard/NewsCard.jsx +96 -0
- imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +309 -0
- imio/smartweb/core/webcomponents/src/components/News/NewsList/NewsList.jsx +76 -0
- imio/smartweb/core/webcomponents/src/components/Search/ContactResult/ContactResult.jsx +28 -14
- imio/smartweb/core/webcomponents/src/components/Search/EventsResult/EventsResult.jsx +28 -14
- imio/smartweb/core/webcomponents/src/components/Search/Filters/Filter.jsx +51 -32
- imio/smartweb/core/webcomponents/src/components/Search/NewsResult/NewsResult.jsx +29 -15
- imio/smartweb/core/webcomponents/src/components/Search/Search.jsx +18 -13
- imio/smartweb/core/webcomponents/src/components/Search/Search.scss +125 -105
- imio/smartweb/core/webcomponents/src/components/Search/WebResult/WebResult.jsx +19 -6
- imio/smartweb/core/webcomponents/src/components/Search/index.js +1 -1
- imio/smartweb/core/webcomponents/src/hooks/ScrollContext.jsx +3 -0
- imio/smartweb/core/webcomponents/src/hooks/useAxios.js +3 -6
- imio/smartweb/core/webcomponents/src/hooks/useFilterQuery.js +1 -2
- imio/smartweb/core/webcomponents/src/index.scss +246 -211
- imio/smartweb/core/webcomponents/src/utils/Map.jsx +159 -0
- imio/smartweb/core/webcomponents/src/{components/Annuaire/ContactMap/ContactMap.scss → utils/Map.scss} +2 -2
- imio/smartweb/core/webcomponents/src/utils/translation.js +283 -14
- imio.smartweb.core-1.2.68-py3.11-nspkg.pth +2 -0
- {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/METADATA +548 -3
- {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/RECORD +317 -240
- {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/WHEEL +1 -1
- imio/smartweb/core/webcomponents/build/assets/location-bla.1423bcce16ddcb21141430cac1428dc1.svg +0 -1
- imio/smartweb/core/webcomponents/build/assets/next-react-white.819cb069ac8eec300a9db6a7707712d6.svg +0 -1
- imio/smartweb/core/webcomponents/build/assets/next-react.17bc43ff4a6a86f4520f5782f6a89a72.svg +0 -1
- imio/smartweb/core/webcomponents/build/assets/search.57bdbf5b191499cd77514097d1c4972c.svg +0 -1
- imio/smartweb/core/webcomponents/build/css/267.smartweb-webcomponents-compiled.css +0 -1
- imio/smartweb/core/webcomponents/build/css/323.smartweb-webcomponents-compiled.css +0 -1
- imio/smartweb/core/webcomponents/build/css/552.smartweb-webcomponents-compiled.css +0 -1
- imio/smartweb/core/webcomponents/build/css/779.smartweb-webcomponents-compiled.css +0 -1
- imio/smartweb/core/webcomponents/build/js/144.smartweb-webcomponents-compiled.js +0 -2
- imio/smartweb/core/webcomponents/build/js/212.smartweb-webcomponents-compiled.js +0 -2
- imio/smartweb/core/webcomponents/build/js/267.smartweb-webcomponents-compiled.js +0 -1
- imio/smartweb/core/webcomponents/build/js/323.smartweb-webcomponents-compiled.js +0 -2
- imio/smartweb/core/webcomponents/build/js/323.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -1
- imio/smartweb/core/webcomponents/build/js/552.smartweb-webcomponents-compiled.js +0 -2
- imio/smartweb/core/webcomponents/build/js/552.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -1
- imio/smartweb/core/webcomponents/build/js/565.smartweb-webcomponents-compiled.js +0 -1
- imio/smartweb/core/webcomponents/build/js/612.smartweb-webcomponents-compiled.js +0 -2
- imio/smartweb/core/webcomponents/build/js/612.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -1
- imio/smartweb/core/webcomponents/build/js/779.smartweb-webcomponents-compiled.js +0 -1
- imio/smartweb/core/webcomponents/build/js/9.smartweb-webcomponents-compiled.js +0 -2
- imio/smartweb/core/webcomponents/build/js/969.smartweb-webcomponents-compiled.js +0 -2
- imio/smartweb/core/webcomponents/build/js/969.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -642
- imio/smartweb/core/webcomponents/pnpm-lock.yaml +0 -7066
- imio/smartweb/core/webcomponents/src/assets/facebook-news.svg +0 -1
- imio/smartweb/core/webcomponents/src/assets/location-bla.svg +0 -1
- imio/smartweb/core/webcomponents/src/assets/next-react.svg +0 -1
- imio/smartweb/core/webcomponents/src/assets/search.svg +0 -1
- imio/smartweb/core/webcomponents/src/assets/skeleton.svg +0 -1
- imio/smartweb/core/webcomponents/src/components/Annuaire/ContactMap/ContactMap.jsx +0 -156
- imio/smartweb/core/webcomponents/src/components/Annuaire/Skeleton/LoaderCss.jsx +0 -7
- imio/smartweb/core/webcomponents/src/components/Annuaire/Skeleton/Skeleton.jsx +0 -20
- imio/smartweb/core/webcomponents/src/components/Events/ContactCard/ContactCard.jsx +0 -49
- imio/smartweb/core/webcomponents/src/components/Events/ContactContent/ContactContent.jsx +0 -400
- imio/smartweb/core/webcomponents/src/components/Events/ContactList/ContactList.jsx +0 -42
- imio/smartweb/core/webcomponents/src/components/Events/ContactMap/ContactMap.jsx +0 -156
- imio/smartweb/core/webcomponents/src/components/Events/Skeleton/Skeleton.jsx +0 -20
- imio/smartweb/core/webcomponents/src/components/News/ContactCard/ContactCard.jsx +0 -78
- imio/smartweb/core/webcomponents/src/components/News/ContactContent/ContactContent.jsx +0 -261
- imio/smartweb/core/webcomponents/src/components/News/ContactList/ContactList.jsx +0 -37
- imio/smartweb/core/webcomponents/src/components/News/ContactMap/ContactMap.jsx +0 -127
- imio/smartweb/core/webcomponents/src/components/News/ContactMap/ContactMap.scss +0 -4
- imio/smartweb/core/webcomponents/src/components/News/Skeleton/Skeleton.jsx +0 -20
- imio/smartweb/core/webcomponents/src/components/Search/Skeleton/Skeleton.jsx +0 -20
- imio.smartweb.core-1.2.12-py3.10-nspkg.pth +0 -3
- /imio/smartweb/core/{webcomponents/src/components/Events/ContactMap/ContactMap.scss → contents/publication/__init__.py} +0 -0
- /imio/smartweb/core/webcomponents/build/js/{144.smartweb-webcomponents-compiled.js.LICENSE.txt → 799.smartweb-webcomponents-compiled.js.LICENSE.txt} +0 -0
- /imio/smartweb/core/webcomponents/build/js/{9.smartweb-webcomponents-compiled.js.LICENSE.txt → 824.smartweb-webcomponents-compiled.js.LICENSE.txt} +0 -0
- {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/LICENSE.GPL +0 -0
- {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/LICENSE.rst +0 -0
- {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/namespace_packages.txt +0 -0
- {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/top_level.txt +0 -0
@@ -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>
|
@@ -0,0 +1,126 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<registry
|
3
|
+
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
4
|
+
i18n:domain="imio.smartweb">
|
5
|
+
|
6
|
+
<record name="smartweb.icon.action.delete"
|
7
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
8
|
+
<field type="plone.registry.field.TextLine">
|
9
|
+
<title i18n:translate="">Action - Delete</title>
|
10
|
+
</field>
|
11
|
+
<value key="resource">++plone++imio.smartweb.core/icons/action-delete.svg</value>
|
12
|
+
</record>
|
13
|
+
|
14
|
+
<record name="smartweb.icon.action.hiring-2"
|
15
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
16
|
+
<field type="plone.registry.field.TextLine">
|
17
|
+
<title i18n:translate="">Action - Hiring - 2</title>
|
18
|
+
</field>
|
19
|
+
<value key="resource">++plone++imio.smartweb.core/icons/action-engagement-2.svg</value>
|
20
|
+
</record>
|
21
|
+
|
22
|
+
<record name="smartweb.icon.action.signs"
|
23
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
24
|
+
<field type="plone.registry.field.TextLine">
|
25
|
+
<title i18n:translate="">Action - Signs</title>
|
26
|
+
</field>
|
27
|
+
<value key="resource">++plone++imio.smartweb.core/icons/action-panneaux.svg</value>
|
28
|
+
</record>
|
29
|
+
|
30
|
+
<record name="smartweb.icon.action.vote"
|
31
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
32
|
+
<field type="plone.registry.field.TextLine">
|
33
|
+
<title i18n:translate="">Action - Vote</title>
|
34
|
+
</field>
|
35
|
+
<value key="resource">++plone++imio.smartweb.core/icons/action-vote.svg</value>
|
36
|
+
</record>
|
37
|
+
|
38
|
+
<record name="smartweb.icon.category.attention"
|
39
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
40
|
+
<field type="plone.registry.field.TextLine">
|
41
|
+
<title i18n:translate="">Category - Attention</title>
|
42
|
+
</field>
|
43
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-attention.svg</value>
|
44
|
+
</record>
|
45
|
+
|
46
|
+
<record name="smartweb.icon.category.works-2"
|
47
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
48
|
+
<field type="plone.registry.field.TextLine">
|
49
|
+
<title i18n:translate="">Category - Works - 2</title>
|
50
|
+
</field>
|
51
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-infos-travaux-2.svg</value>
|
52
|
+
</record>
|
53
|
+
|
54
|
+
<record name="smartweb.icon.category.nature"
|
55
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
56
|
+
<field type="plone.registry.field.TextLine">
|
57
|
+
<title i18n:translate="">Category - Nature</title>
|
58
|
+
</field>
|
59
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-nature.svg</value>
|
60
|
+
</record>
|
61
|
+
|
62
|
+
<record name="smartweb.icon.category.containerpark"
|
63
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
64
|
+
<field type="plone.registry.field.TextLine">
|
65
|
+
<title i18n:translate="">Category - Containerpark</title>
|
66
|
+
</field>
|
67
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-parcs-a-conteneurs.svg</value>
|
68
|
+
</record>
|
69
|
+
|
70
|
+
<record name="smartweb.icon.category.more"
|
71
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
72
|
+
<field type="plone.registry.field.TextLine">
|
73
|
+
<title i18n:translate="">Category - More</title>
|
74
|
+
</field>
|
75
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-plus.svg</value>
|
76
|
+
</record>
|
77
|
+
|
78
|
+
<record name="smartweb.icon.category.bonuses-2"
|
79
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
80
|
+
<field type="plone.registry.field.TextLine">
|
81
|
+
<title i18n:translate="">Category - Bonuses 2</title>
|
82
|
+
</field>
|
83
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-primes-2.svg</value>
|
84
|
+
</record>
|
85
|
+
|
86
|
+
<record name="smartweb.icon.category.sport.swim"
|
87
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
88
|
+
<field type="plone.registry.field.TextLine">
|
89
|
+
<title i18n:translate="">Category - Sport - Swim</title>
|
90
|
+
</field>
|
91
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-sport-natation.svg</value>
|
92
|
+
</record>
|
93
|
+
|
94
|
+
<record name="smartweb.icon.organization.school-2"
|
95
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
96
|
+
<field type="plone.registry.field.TextLine">
|
97
|
+
<title i18n:translate="">Organization - School - 2</title>
|
98
|
+
</field>
|
99
|
+
<value key="resource">++plone++imio.smartweb.core/icons/organisation-ecole-sac.svg</value>
|
100
|
+
</record>
|
101
|
+
|
102
|
+
<record name="smartweb.icon.organization.boyscout"
|
103
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
104
|
+
<field type="plone.registry.field.TextLine">
|
105
|
+
<title i18n:translate="">Organization - Boyscout</title>
|
106
|
+
</field>
|
107
|
+
<value key="resource">++plone++imio.smartweb.core/icons/organisation-scout.svg</value>
|
108
|
+
</record>
|
109
|
+
|
110
|
+
<record name="smartweb.icon.socialnetwork.behance"
|
111
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
112
|
+
<field type="plone.registry.field.TextLine">
|
113
|
+
<title i18n:translate="">Social network - Behance</title>
|
114
|
+
</field>
|
115
|
+
<value key="resource">++plone++imio.smartweb.core/icons/reseausocial-behance.svg</value>
|
116
|
+
</record>
|
117
|
+
|
118
|
+
<record name="smartweb.icon.socialnetwork.linkedin"
|
119
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
120
|
+
<field type="plone.registry.field.TextLine">
|
121
|
+
<title i18n:translate="">Social network - Linkedin</title>
|
122
|
+
</field>
|
123
|
+
<value key="resource">++plone++imio.smartweb.core/icons/reseausocial-linkedin.svg</value>
|
124
|
+
</record>
|
125
|
+
|
126
|
+
</registry>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
3
|
+
name="imio.smartweb.Publication"
|
4
|
+
meta_type="Dexterity FTI"
|
5
|
+
i18n:domain="imio.smartweb">
|
6
|
+
|
7
|
+
<!-- Basic properties -->
|
8
|
+
<property
|
9
|
+
i18n:translate=""
|
10
|
+
name="title">Publication</property>
|
11
|
+
<property
|
12
|
+
i18n:translate=""
|
13
|
+
name="description">IA.Deliberations : Publication</property>
|
14
|
+
|
15
|
+
<property name="icon_expr">string:bounding-box-circles</property>
|
16
|
+
|
17
|
+
<!-- Hierarchy control -->
|
18
|
+
<property name="global_allow">False</property>
|
19
|
+
|
20
|
+
<!-- Schema, class and security -->
|
21
|
+
<!-- if we can add a page, we can add a page section -->
|
22
|
+
<property name="add_permission">imio.smartweb.core.AddPage</property>
|
23
|
+
<property name="klass">imio.smartweb.core.contents.Publication</property>
|
24
|
+
<property name="schema">imio.smartweb.core.contents.IPublication</property>
|
25
|
+
|
26
|
+
<!-- Enabled behaviors -->
|
27
|
+
<property name="behaviors" purge="false">
|
28
|
+
<element value="plone.shortname"/>
|
29
|
+
<element value="plone.leadimage"/>
|
30
|
+
<element value="solr.fields" />
|
31
|
+
</property>
|
32
|
+
|
33
|
+
<!-- View information -->
|
34
|
+
<property name="default_view">view</property>
|
35
|
+
<property name="default_view_fallback">False</property>
|
36
|
+
<property name="immediate_view">view</property>
|
37
|
+
|
38
|
+
</object>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
3
|
+
name="imio.smartweb.SectionFiles"
|
4
|
+
meta_type="Dexterity FTI"
|
5
|
+
i18n:domain="imio.smartweb">
|
6
|
+
|
7
|
+
<property name="allowed_content_types" purge="false">
|
8
|
+
<element value="imio.smartweb.Publication" />
|
9
|
+
</property>
|
10
|
+
|
11
|
+
</object>
|
imio/smartweb/core/utils.py
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
from Acquisition import aq_parent
|
4
4
|
from collective.taxonomy.interfaces import ITaxonomy
|
5
|
+
from imio.smartweb.common.utils import is_log_active
|
5
6
|
from imio.smartweb.core.config import WCA_URL
|
6
7
|
from imio.smartweb.core.contents import IFolder
|
7
8
|
from more_itertools import chunked
|
@@ -14,6 +15,7 @@ from Products.CMFPlone.utils import base_hasattr
|
|
14
15
|
from zope.component import getSiteManager
|
15
16
|
from zope.component import queryMultiAdapter
|
16
17
|
|
18
|
+
import base64
|
17
19
|
import hashlib
|
18
20
|
import json
|
19
21
|
import logging
|
@@ -69,7 +71,8 @@ def get_json(url, auth=None, timeout=5):
|
|
69
71
|
return None
|
70
72
|
if response.status_code != 200:
|
71
73
|
return None
|
72
|
-
|
74
|
+
if response.text:
|
75
|
+
return json.loads(response.text)
|
73
76
|
|
74
77
|
|
75
78
|
def get_wca_token(client_id, client_secret):
|
@@ -91,6 +94,8 @@ def get_wca_token(client_id, client_secret):
|
|
91
94
|
}
|
92
95
|
response = requests.post(WCA_URL, headers=headers, data=payload)
|
93
96
|
id_token = response.json().get("id_token")
|
97
|
+
if is_log_active():
|
98
|
+
logger.info(f"WCA token retrieved : {id_token}")
|
94
99
|
return "Bearer {0}".format(id_token)
|
95
100
|
|
96
101
|
|
@@ -111,7 +116,7 @@ def batch_results(iterable, batch_size):
|
|
111
116
|
return list(chunked(iterable, batch_size, strict=False))
|
112
117
|
|
113
118
|
|
114
|
-
def reindexParent(obj, event):
|
119
|
+
def reindexParent(obj, event=None):
|
115
120
|
parent = aq_parent(obj)
|
116
121
|
if parent is not None:
|
117
122
|
# in some cases (ex: relation breaking), we do not get the object in
|
@@ -132,7 +137,7 @@ def get_default_content_id(obj):
|
|
132
137
|
|
133
138
|
def get_scale_url(context, request, fieldname, scale_name, orientation=""):
|
134
139
|
if orientation:
|
135
|
-
m = re.match(r"(portrait|paysage)_(\w+)", scale_name)
|
140
|
+
m = re.match(r"(portrait|paysage|carre)_(\w+)", scale_name)
|
136
141
|
if m:
|
137
142
|
# remove existing orientation (if any) from scale name
|
138
143
|
scale_name = m.group(2)
|
@@ -165,3 +170,60 @@ def get_scale_url(context, request, fieldname, scale_name, orientation=""):
|
|
165
170
|
modified_hash = hash_md5(modification_date)
|
166
171
|
url = f"{brain.getURL()}/@@images/{fieldname}/{scale_name}?cache_key={modified_hash}"
|
167
172
|
return url
|
173
|
+
|
174
|
+
|
175
|
+
def get_plausible_vars():
|
176
|
+
env_plausible_url = os.getenv("SMARTWEB_PLAUSIBLE_URL", "")
|
177
|
+
env_plausible_site = os.getenv("SMARTWEB_PLAUSIBLE_SITE", "")
|
178
|
+
env_plausible_token = os.getenv("SMARTWEB_PLAUSIBLE_TOKEN", "")
|
179
|
+
|
180
|
+
plausible_url = (
|
181
|
+
env_plausible_url
|
182
|
+
if (env_plausible_url and env_plausible_url != "")
|
183
|
+
else api.portal.get_registry_record("smartweb.plausible_url")
|
184
|
+
)
|
185
|
+
plausible_site = (
|
186
|
+
env_plausible_site
|
187
|
+
if (env_plausible_site and env_plausible_site != "")
|
188
|
+
else api.portal.get_registry_record("smartweb.plausible_site")
|
189
|
+
)
|
190
|
+
plausible_token = (
|
191
|
+
env_plausible_token
|
192
|
+
if (env_plausible_token and env_plausible_token != "")
|
193
|
+
else api.portal.get_registry_record("smartweb.plausible_token")
|
194
|
+
)
|
195
|
+
if all([plausible_site, plausible_url, plausible_token]):
|
196
|
+
plausible_vars = {
|
197
|
+
"plausible_url": plausible_url,
|
198
|
+
"plausible_site": plausible_site,
|
199
|
+
"plausible_token": plausible_token,
|
200
|
+
}
|
201
|
+
return plausible_vars
|
202
|
+
else:
|
203
|
+
return None
|
204
|
+
|
205
|
+
|
206
|
+
def get_iadeliberation_url_from_registry():
|
207
|
+
iadeliberation_url = api.portal.get_registry_record("smartweb.iadeliberations_url")
|
208
|
+
return iadeliberation_url
|
209
|
+
|
210
|
+
|
211
|
+
def get_iadeliberation_institution_from_registry():
|
212
|
+
iadeliberation_institution = api.portal.get_registry_record(
|
213
|
+
"smartweb.iadeliberations_institution"
|
214
|
+
)
|
215
|
+
return iadeliberation_institution
|
216
|
+
|
217
|
+
|
218
|
+
def get_iadeliberation_json(url):
|
219
|
+
iadeliberation_user = api.portal.get_registry_record(
|
220
|
+
"smartweb.iadeliberations_api_username"
|
221
|
+
)
|
222
|
+
iadeliberation_pwd = api.portal.get_registry_record(
|
223
|
+
"smartweb.iadeliberation_api_password"
|
224
|
+
)
|
225
|
+
usrPass = f"{iadeliberation_user}:{iadeliberation_pwd}".encode("utf-8")
|
226
|
+
b64Val = base64.b64encode(usrPass)
|
227
|
+
json = get_json(url, auth=f"Basic {b64Val.decode('utf-8')}", timeout=20)
|
228
|
+
|
229
|
+
return json
|
@@ -36,6 +36,16 @@
|
|
36
36
|
permission="zope.Public"
|
37
37
|
/>
|
38
38
|
|
39
|
+
<browser:viewlet
|
40
|
+
name="imio.smartweb.odwb_widget_header"
|
41
|
+
for="*"
|
42
|
+
manager="plone.app.layout.viewlets.interfaces.IHTTPHeaders"
|
43
|
+
layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
|
44
|
+
template="odwb_widget_header.pt"
|
45
|
+
class=".external_content.OdwbWidgetHeaderViewlet"
|
46
|
+
permission="zope.Public"
|
47
|
+
/>
|
48
|
+
|
39
49
|
<browser:viewlet
|
40
50
|
name="imio.smartweb.header_actions"
|
41
51
|
for="*"
|
@@ -295,6 +305,17 @@
|
|
295
305
|
/>
|
296
306
|
</configure>
|
297
307
|
|
308
|
+
<browser:viewlet
|
309
|
+
name="plone.htmlhead.socialtags"
|
310
|
+
for="imio.smartweb.core.contents.IRestView"
|
311
|
+
view="imio.smartweb.core.interfaces.IOgpViewUtils"
|
312
|
+
manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
|
313
|
+
layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
|
314
|
+
template="ogp_tag_header.pt"
|
315
|
+
class=".ogptags.OgpTagsViewlet"
|
316
|
+
permission="zope2.View"
|
317
|
+
/>
|
318
|
+
|
298
319
|
<configure package="collective.messagesviewlet.browser">
|
299
320
|
<browser:viewlet
|
300
321
|
name="message-viewlet"
|
@@ -307,6 +328,28 @@
|
|
307
328
|
/>
|
308
329
|
</configure>
|
309
330
|
|
331
|
+
<browser:viewlet
|
332
|
+
name="smartweb.htmx.js"
|
333
|
+
for="imio.smartweb.core.contents.IPage"
|
334
|
+
view="imio.smartweb.core.interfaces.IHtmxViewUtils"
|
335
|
+
manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
|
336
|
+
layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
|
337
|
+
template="htmx_js_header.pt"
|
338
|
+
class=".htmx.HtmxViewlet"
|
339
|
+
permission="zope2.View"
|
340
|
+
/>
|
341
|
+
|
342
|
+
<browser:viewlet
|
343
|
+
name="smartweb.htmx.js"
|
344
|
+
for="imio.smartweb.core.contents.IPortalPage"
|
345
|
+
view="imio.smartweb.core.interfaces.IHtmxViewUtils"
|
346
|
+
manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
|
347
|
+
layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
|
348
|
+
template="htmx_js_header.pt"
|
349
|
+
class=".htmx.HtmxViewlet"
|
350
|
+
permission="zope2.View"
|
351
|
+
/>
|
352
|
+
|
310
353
|
<!-- Overrides to change viewlets managers -->
|
311
354
|
|
312
355
|
<configure package="plone.app.multilingual.browser">
|
@@ -7,8 +7,16 @@ class ArcgisHeaderViewlet(HeaderViewlet):
|
|
7
7
|
def update(self):
|
8
8
|
super(ArcgisHeaderViewlet, self).update()
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
|
11
|
+
class OdwbWidgetHeaderViewlet(HeaderViewlet):
|
12
|
+
|
13
|
+
def should_render(self):
|
14
|
+
view = self.view
|
15
|
+
if hasattr(view, "should_display_odwb_widget_viewlet"):
|
16
|
+
return view.should_display_odwb_widget_viewlet
|
17
|
+
return False
|
18
|
+
|
19
|
+
def render(self):
|
20
|
+
# if self.should_render():
|
21
|
+
return self.index()
|
22
|
+
# return ""
|
@@ -6,6 +6,11 @@
|
|
6
6
|
tal:attributes="id view/css_id;
|
7
7
|
style view/background_style;
|
8
8
|
class string:smartweb-footer ${footer/css_class}">
|
9
|
+
<a class="show-on-focus skip-before-footer"
|
10
|
+
tal:define="url view/current_page_url"
|
11
|
+
tal:attributes="href string:${url}#content-header"
|
12
|
+
i18n:domain="imio.smartweb"
|
13
|
+
i18n:translate="">Skip to navigation</a>
|
9
14
|
<div class="container">
|
10
15
|
<div class="row">
|
11
16
|
<tal:bcl tal:repeat="section view/sections">
|
@@ -8,6 +8,7 @@ from plone.app.layout.navigation.interfaces import INavigationRoot
|
|
8
8
|
from plone.app.layout.viewlets import common
|
9
9
|
from Products.CMFPlone.interfaces.siteroot import IPloneSiteRoot
|
10
10
|
from Products.CMFPlone.utils import parent
|
11
|
+
from zope.component import getMultiAdapter
|
11
12
|
|
12
13
|
|
13
14
|
class BaseFooterViewlet(common.ViewletBase):
|
@@ -28,9 +29,13 @@ class BaseFooterViewlet(common.ViewletBase):
|
|
28
29
|
return " ".join([css_bg_image, css_bg_size])
|
29
30
|
|
30
31
|
def update(self):
|
32
|
+
context_state = getMultiAdapter(
|
33
|
+
(self.context, self.request), name="plone_context_state"
|
34
|
+
)
|
31
35
|
if not self.available():
|
32
36
|
return
|
33
37
|
self.sections = self.footer.listFolderContents()
|
38
|
+
self.current_page_url = context_state.current_page_url
|
34
39
|
|
35
40
|
|
36
41
|
class FooterViewlet(BaseFooterViewlet):
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
from plone import api
|
4
|
+
from plone.app.layout.viewlets.httpheaders import HeaderViewlet
|
5
|
+
|
6
|
+
|
7
|
+
class HtmxViewlet(HeaderViewlet):
|
8
|
+
"""htmx"""
|
9
|
+
|
10
|
+
def update(self):
|
11
|
+
super(HtmxViewlet, self).update()
|
12
|
+
|
13
|
+
@property
|
14
|
+
def is_anonymous(self):
|
15
|
+
return api.user.is_anonymous()
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<tal:cond condition="python:not view.is_anonymous">
|
2
|
+
<script src="https://unpkg.com/htmx.org@1.9.10/dist/htmx.js"></script>
|
3
|
+
|
4
|
+
<script type="text/javascript">
|
5
|
+
$(document).ready(function() {
|
6
|
+
/**
|
7
|
+
Manage section size
|
8
|
+
When clicking on link (<a>) with class "section_size", display the form to select the section size
|
9
|
+
*/
|
10
|
+
$(".manage-section > a.section_size").on("click", function(event) {
|
11
|
+
event.preventDefault();
|
12
|
+
var clickedElement = event.target;
|
13
|
+
var uid = clickedElement.getAttribute("uid");
|
14
|
+
var sizesForm = $("#sizesForm_" + uid);
|
15
|
+
// Get <select>
|
16
|
+
var selectElement = document.querySelector("#sizesForm_" + uid + " > select");
|
17
|
+
sizesForm.css({ "display": "inline-block", "position": "absolute", "zIndex": "2" });
|
18
|
+
selectElement.selectedIndex = -1;
|
19
|
+
selectElement.size = selectElement.options.length;
|
20
|
+
selectElement.focus();
|
21
|
+
selectElement.addEventListener('focusout', function(event) {
|
22
|
+
sizesForm.css("display", "none");
|
23
|
+
});
|
24
|
+
});
|
25
|
+
|
26
|
+
/**
|
27
|
+
Manage section size
|
28
|
+
When submitting the form, update the section size and the class of the parent element
|
29
|
+
(to directly resize the section)
|
30
|
+
*/
|
31
|
+
$(".manage-section > form").on("htmx:afterRequest", function(event) {
|
32
|
+
event.preventDefault();
|
33
|
+
var response = JSON.parse(event.detail.xhr.response);
|
34
|
+
var currentForm = event.target;
|
35
|
+
var uid = currentForm.getAttribute("hx-boost");
|
36
|
+
var link = document.getElementById("selected_size_" + uid);
|
37
|
+
var parent = currentForm.closest('.sortable-section');
|
38
|
+
var lst_parent_classes = $(parent).attr("class").split(" ");
|
39
|
+
var new_parent_classes = ""
|
40
|
+
var find = false;
|
41
|
+
for (var i = 0; i < lst_parent_classes.length; i++) {
|
42
|
+
if (lst_parent_classes[i].startsWith("col-")) {
|
43
|
+
find = true;
|
44
|
+
lst_parent_classes[i] = response.id;
|
45
|
+
}
|
46
|
+
new_parent_classes += new_parent_classes + " " + lst_parent_classes[i];
|
47
|
+
}
|
48
|
+
// "col-" can not be found if there is no section size defined
|
49
|
+
if (find == false) {
|
50
|
+
new_parent_classes += " " + response.id;
|
51
|
+
}
|
52
|
+
$(parent).removeClass().addClass(new_parent_classes);
|
53
|
+
currentForm.style.display = "none";
|
54
|
+
link.innerText = response.title;
|
55
|
+
link.style.display = "inline-block";
|
56
|
+
});
|
57
|
+
});
|
58
|
+
</script>
|
59
|
+
</tal:cond>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
from plone.app.layout.viewlets.httpheaders import HTTPCachingHeaders
|
4
|
+
|
5
|
+
|
6
|
+
class MyHTTPCachingHeaders(HTTPCachingHeaders):
|
7
|
+
def update(self):
|
8
|
+
super(MyHTTPCachingHeaders, self).update()
|
9
|
+
|
10
|
+
def getHeaders(self):
|
11
|
+
result = super(MyHTTPCachingHeaders, self).getHeaders()
|
12
|
+
result.append(("prefix", "og: http://ogp.me/ns#"))
|
13
|
+
return result
|