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
@@ -32,12 +32,14 @@
|
|
32
32
|
<element value="plone.locking"/>
|
33
33
|
<element value="plone.leadimage"/>
|
34
34
|
<element value="plone.imagecropping"/>
|
35
|
+
<element value="imio.smartweb.category_display"/>
|
35
36
|
<element value="imio.smartweb.orientation"/>
|
36
37
|
<element value="imio.smartweb.listing"/>
|
37
38
|
<element value="imio.smartweb.topics"/>
|
38
39
|
<element value="imio.smartweb.iam"/>
|
39
40
|
<element value="plone.categorization"/>
|
40
41
|
<element value="collective.autopublishing.behavior.IAutoPublishing"/>
|
42
|
+
<element value="solr.fields" />
|
41
43
|
</property>
|
42
44
|
|
43
45
|
</object>
|
@@ -32,12 +32,14 @@
|
|
32
32
|
<element value="plone.locking"/>
|
33
33
|
<element value="plone.leadimage"/>
|
34
34
|
<element value="plone.imagecropping"/>
|
35
|
+
<element value="imio.smartweb.category_display"/>
|
35
36
|
<element value="imio.smartweb.orientation"/>
|
36
37
|
<element value="imio.smartweb.listing"/>
|
37
38
|
<element value="imio.smartweb.topics"/>
|
38
39
|
<element value="imio.smartweb.iam"/>
|
39
40
|
<element value="plone.categorization"/>
|
40
41
|
<element value="collective.autopublishing.behavior.IAutoPublishing"/>
|
42
|
+
<element value="solr.fields" />
|
41
43
|
</property>
|
42
44
|
|
43
45
|
</object>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
3
|
+
name="imio.smartweb.Publication"
|
4
|
+
meta_type="Dexterity FTI"
|
5
|
+
i18n:domain="imio.smartweb">
|
6
|
+
|
7
|
+
<!-- Basic properties -->
|
8
|
+
<property
|
9
|
+
i18n:translate=""
|
10
|
+
name="title">Publication</property>
|
11
|
+
<property
|
12
|
+
i18n:translate=""
|
13
|
+
name="description">IA.Deliberations : Publication</property>
|
14
|
+
|
15
|
+
<property name="icon_expr">string:bounding-box-circles</property>
|
16
|
+
|
17
|
+
<!-- Hierarchy control -->
|
18
|
+
<property name="global_allow">False</property>
|
19
|
+
|
20
|
+
<!-- Schema, class and security -->
|
21
|
+
<!-- if we can add a page, we can add a page section -->
|
22
|
+
<property name="add_permission">cmf.ManagePortal</property>
|
23
|
+
<property name="klass">imio.smartweb.core.contents.Publication</property>
|
24
|
+
<property name="schema">imio.smartweb.core.contents.IPublication</property>
|
25
|
+
|
26
|
+
<!-- Enabled behaviors -->
|
27
|
+
<property name="behaviors" purge="false">
|
28
|
+
<element value="plone.shortname"/>
|
29
|
+
<element value="plone.leadimage"/>
|
30
|
+
<element value="solr.fields" />
|
31
|
+
</property>
|
32
|
+
|
33
|
+
<!-- View information -->
|
34
|
+
<property name="default_view">view</property>
|
35
|
+
<property name="default_view_fallback">False</property>
|
36
|
+
<property name="immediate_view">view</property>
|
37
|
+
|
38
|
+
</object>
|
@@ -19,6 +19,7 @@
|
|
19
19
|
<property name="filter_content_types">True</property>
|
20
20
|
<property name="allowed_content_types">
|
21
21
|
<element value="File" />
|
22
|
+
<element value="imio.smartweb.Publication" />
|
22
23
|
</property>
|
23
24
|
<!-- Schema, class and security -->
|
24
25
|
<!-- if we can add a page, we can add a page section -->
|
@@ -31,6 +32,7 @@
|
|
31
32
|
<element value="plone.namefromtitle"/>
|
32
33
|
<element value="plone.locking"/>
|
33
34
|
<element value="plone.shortname"/>
|
35
|
+
<element value="imio.smartweb.orientation"/>
|
34
36
|
</property>
|
35
37
|
|
36
38
|
<!-- View information -->
|
@@ -11,6 +11,7 @@
|
|
11
11
|
<object meta_type="Dexterity FTI" name="imio.smartweb.Page"/>
|
12
12
|
<object meta_type="Dexterity FTI" name="imio.smartweb.PortalPage"/>
|
13
13
|
<object meta_type="Dexterity FTI" name="imio.smartweb.Procedure"/>
|
14
|
+
<object meta_type="Dexterity FTI" name="imio.smartweb.Publication"/>
|
14
15
|
<object meta_type="Dexterity FTI" name="imio.smartweb.SectionCollection"/>
|
15
16
|
<object meta_type="Dexterity FTI" name="imio.smartweb.SectionContact"/>
|
16
17
|
<object meta_type="Dexterity FTI" name="imio.smartweb.SectionEvents"/>
|
@@ -3,6 +3,38 @@
|
|
3
3
|
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
4
4
|
i18n:domain="imio.smartweb">
|
5
5
|
|
6
|
+
<record name="smartweb.icon.action.delete"
|
7
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
8
|
+
<field type="plone.registry.field.TextLine">
|
9
|
+
<title i18n:translate="">Action - Delete</title>
|
10
|
+
</field>
|
11
|
+
<value key="resource">++plone++imio.smartweb.core/icons/action-delete.svg</value>
|
12
|
+
</record>
|
13
|
+
|
14
|
+
<record name="smartweb.icon.action.hiring-2"
|
15
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
16
|
+
<field type="plone.registry.field.TextLine">
|
17
|
+
<title i18n:translate="">Action - Hiring-2</title>
|
18
|
+
</field>
|
19
|
+
<value key="resource">++plone++imio.smartweb.core/icons/action-engagement-2.svg</value>
|
20
|
+
</record>
|
21
|
+
|
22
|
+
<record name="smartweb.icon.action.signs"
|
23
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
24
|
+
<field type="plone.registry.field.TextLine">
|
25
|
+
<title i18n:translate="">Action - Signs</title>
|
26
|
+
</field>
|
27
|
+
<value key="resource">++plone++imio.smartweb.core/icons/action-panneaux.svg</value>
|
28
|
+
</record>
|
29
|
+
|
30
|
+
<record name="smartweb.icon.action.vote"
|
31
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
32
|
+
<field type="plone.registry.field.TextLine">
|
33
|
+
<title i18n:translate="">Action - Vote</title>
|
34
|
+
</field>
|
35
|
+
<value key="resource">++plone++imio.smartweb.core/icons/action-vote.svg</value>
|
36
|
+
</record>
|
37
|
+
|
6
38
|
<record name="smartweb.icon.action.eguichet"
|
7
39
|
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
8
40
|
<field type="plone.registry.field.TextLine">
|
@@ -91,6 +123,54 @@
|
|
91
123
|
<value key="resource">++plone++imio.smartweb.core/icons/categorie-cinema.svg</value>
|
92
124
|
</record>
|
93
125
|
|
126
|
+
<record name="smartweb.icon.category.attention"
|
127
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
128
|
+
<field type="plone.registry.field.TextLine">
|
129
|
+
<title i18n:translate="">Category - Attention</title>
|
130
|
+
</field>
|
131
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-attention.svg</value>
|
132
|
+
</record>
|
133
|
+
|
134
|
+
<record name="smartweb.icon.category.nature"
|
135
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
136
|
+
<field type="plone.registry.field.TextLine">
|
137
|
+
<title i18n:translate="">Category - Nature</title>
|
138
|
+
</field>
|
139
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-nature.svg</value>
|
140
|
+
</record>
|
141
|
+
|
142
|
+
<record name="smartweb.icon.category.containerpark"
|
143
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
144
|
+
<field type="plone.registry.field.TextLine">
|
145
|
+
<title i18n:translate="">Category - Containerpark</title>
|
146
|
+
</field>
|
147
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-parcs-a-conteneurs.svg</value>
|
148
|
+
</record>
|
149
|
+
|
150
|
+
<record name="smartweb.icon.category.more"
|
151
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
152
|
+
<field type="plone.registry.field.TextLine">
|
153
|
+
<title i18n:translate="">Category - More</title>
|
154
|
+
</field>
|
155
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-plus.svg</value>
|
156
|
+
</record>
|
157
|
+
|
158
|
+
<record name="smartweb.icon.category.bonuses-2"
|
159
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
160
|
+
<field type="plone.registry.field.TextLine">
|
161
|
+
<title i18n:translate="">Category - Bonuses - 2</title>
|
162
|
+
</field>
|
163
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-primes-2.svg</value>
|
164
|
+
</record>
|
165
|
+
|
166
|
+
<record name="smartweb.icon.category.sport.swim"
|
167
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
168
|
+
<field type="plone.registry.field.TextLine">
|
169
|
+
<title i18n:translate="">Category - Sport - Swim</title>
|
170
|
+
</field>
|
171
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-sport-natation.svg</value>
|
172
|
+
</record>
|
173
|
+
|
94
174
|
<record name="smartweb.icon.category.shop"
|
95
175
|
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
96
176
|
<field type="plone.registry.field.TextLine">
|
@@ -171,6 +251,14 @@
|
|
171
251
|
<value key="resource">++plone++imio.smartweb.core/icons/categorie-infos-travaux.svg</value>
|
172
252
|
</record>
|
173
253
|
|
254
|
+
<record name="smartweb.icon.category.works-2"
|
255
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
256
|
+
<field type="plone.registry.field.TextLine">
|
257
|
+
<title i18n:translate="">Category - Works - 2</title>
|
258
|
+
</field>
|
259
|
+
<value key="resource">++plone++imio.smartweb.core/icons/categorie-infos-travaux-2.svg</value>
|
260
|
+
</record>
|
261
|
+
|
174
262
|
<record name="smartweb.icon.category.representative"
|
175
263
|
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
176
264
|
<field type="plone.registry.field.TextLine">
|
@@ -259,6 +347,22 @@
|
|
259
347
|
<value key="resource">++plone++imio.smartweb.core/icons/categorie-tourisme.svg</value>
|
260
348
|
</record>
|
261
349
|
|
350
|
+
<record name="smartweb.icon.organization.school-2"
|
351
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
352
|
+
<field type="plone.registry.field.TextLine">
|
353
|
+
<title i18n:translate="">Organization - School - 2</title>
|
354
|
+
</field>
|
355
|
+
<value key="resource">++plone++imio.smartweb.core/icons/organisation-ecole-sac.svg</value>
|
356
|
+
</record>
|
357
|
+
|
358
|
+
<record name="smartweb.icon.organization.boyscout"
|
359
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
360
|
+
<field type="plone.registry.field.TextLine">
|
361
|
+
<title i18n:translate="">Organization - Boyscout</title>
|
362
|
+
</field>
|
363
|
+
<value key="resource">++plone++imio.smartweb.core/icons/organisation-scout.svg</value>
|
364
|
+
</record>
|
365
|
+
|
262
366
|
<record name="smartweb.icon.organization.musicacademy"
|
263
367
|
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
264
368
|
<field type="plone.registry.field.TextLine">
|
@@ -323,6 +427,14 @@
|
|
323
427
|
<value key="resource">++plone++imio.smartweb.core/icons/organisation-police.svg</value>
|
324
428
|
</record>
|
325
429
|
|
430
|
+
<record name="smartweb.icon.socialnetwork.behance"
|
431
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
432
|
+
<field type="plone.registry.field.TextLine">
|
433
|
+
<title i18n:translate="">Social network - Behance</title>
|
434
|
+
</field>
|
435
|
+
<value key="resource">++plone++imio.smartweb.core/icons/reseausocial-behance.svg</value>
|
436
|
+
</record>
|
437
|
+
|
326
438
|
<record name="smartweb.icon.socialnetwork.facebookthumb"
|
327
439
|
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
328
440
|
<field type="plone.registry.field.TextLine">
|
@@ -347,6 +459,14 @@
|
|
347
459
|
<value key="resource">++plone++imio.smartweb.core/icons/reseausocial-instagram.svg</value>
|
348
460
|
</record>
|
349
461
|
|
462
|
+
<record name="smartweb.icon.socialnetwork.linkedin"
|
463
|
+
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
464
|
+
<field type="plone.registry.field.TextLine">
|
465
|
+
<title i18n:translate="">Social network - Linkedin</title>
|
466
|
+
</field>
|
467
|
+
<value key="resource">++plone++imio.smartweb.core/icons/reseausocial-linkedin.svg</value>
|
468
|
+
</record>
|
469
|
+
|
350
470
|
<record name="smartweb.icon.socialnetwork.twitter"
|
351
471
|
interface="imio.smartweb.core.interfaces.ISmartwebIcon">
|
352
472
|
<field type="plone.registry.field.TextLine">
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
3
|
+
name="imio.smartweb.DirectoryView"
|
4
|
+
meta_type="Dexterity FTI"
|
5
|
+
i18n:domain="imio.smartweb">
|
6
|
+
|
7
|
+
<property name="behaviors" purge="false">
|
8
|
+
<element value="plone.translatable"/>
|
9
|
+
</property>
|
10
|
+
|
11
|
+
</object>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
3
|
+
name="imio.smartweb.EventsView"
|
4
|
+
meta_type="Dexterity FTI"
|
5
|
+
i18n:domain="imio.smartweb">
|
6
|
+
|
7
|
+
<property name="behaviors" purge="false">
|
8
|
+
<element value="plone.translatable"/>
|
9
|
+
</property>
|
10
|
+
|
11
|
+
</object>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
3
|
+
name="imio.smartweb.NewsView"
|
4
|
+
meta_type="Dexterity FTI"
|
5
|
+
i18n:domain="imio.smartweb">
|
6
|
+
|
7
|
+
<property name="behaviors" purge="false">
|
8
|
+
<element value="plone.translatable"/>
|
9
|
+
</property>
|
10
|
+
|
11
|
+
</object>
|
@@ -0,0 +1,102 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<contentrules>
|
3
|
+
<rule name="rule-1" title="Notification de contenu à valider"
|
4
|
+
cascading="False" description="" enabled="True"
|
5
|
+
event="Products.CMFCore.interfaces.IActionSucceededEvent"
|
6
|
+
stop-after="False">
|
7
|
+
<conditions>
|
8
|
+
<condition type="plone.conditions.PortalType">
|
9
|
+
<property name="check_types">
|
10
|
+
<element>imio.smartweb.Page</element>
|
11
|
+
<element>imio.smartweb.PortalPage</element>
|
12
|
+
<element>imio.smartweb.Procedure</element>
|
13
|
+
</property>
|
14
|
+
</condition>
|
15
|
+
<condition type="plone.conditions.WorkflowState">
|
16
|
+
<property name="wf_states">
|
17
|
+
<element>pending</element>
|
18
|
+
</property>
|
19
|
+
</condition>
|
20
|
+
</conditions>
|
21
|
+
<actions>
|
22
|
+
<action type="plone.actions.Mail">
|
23
|
+
<property name="subject">Nouveau contenu sur le site</property>
|
24
|
+
<property name="source"/>
|
25
|
+
<property name="recipients">${reviewer_emails}</property>
|
26
|
+
<property name="exclude_actor">False</property>
|
27
|
+
<property name="message">Un nouveau contenu a été soumis à validation. Cliquez sur le lien pour aller le valider ou le refuser : ${absolute_url}</property>
|
28
|
+
</action>
|
29
|
+
<action type="plone.actions.Logger">
|
30
|
+
<property name="targetLogger">imio.smartweb.core</property>
|
31
|
+
<property name="loggingLevel">20</property>
|
32
|
+
<property
|
33
|
+
name="message">Content to review notification sent for &c.</property>
|
34
|
+
</action>
|
35
|
+
</actions>
|
36
|
+
</rule>
|
37
|
+
<rule name="rule-2" title="Notification de modification de section de contenu publié"
|
38
|
+
cascading="False" description="" enabled="True"
|
39
|
+
event="zope.lifecycleevent.interfaces.IObjectModifiedEvent"
|
40
|
+
stop-after="False">
|
41
|
+
<conditions>
|
42
|
+
<condition type="plone.conditions.PortalType">
|
43
|
+
<property name="check_types">
|
44
|
+
<element>imio.smartweb.SectionText</element>
|
45
|
+
</property>
|
46
|
+
</condition>
|
47
|
+
<condition type="plone.conditions.TalesExpression">
|
48
|
+
<property
|
49
|
+
name="tales_expression">python: hasattr(here, "aq_parent") and portal.portal_workflow.getInfoFor(here.aq_parent, "review_state", "") == "published"</property>
|
50
|
+
</condition>
|
51
|
+
</conditions>
|
52
|
+
<actions>
|
53
|
+
<action type="plone.actions.Mail">
|
54
|
+
<property name="subject">Contenu publié modifié sur le site</property>
|
55
|
+
<property name="source"/>
|
56
|
+
<property name="recipients">${reviewer_emails}</property>
|
57
|
+
<property name="exclude_actor">False</property>
|
58
|
+
<property name="message">Une section texte d'un contenu déjà publié a été modifiée. Cliquez sur le lien pour consulter la modification effectuée : ${absolute_url}/@@historyview</property>
|
59
|
+
</action>
|
60
|
+
<action type="plone.actions.Logger">
|
61
|
+
<property name="targetLogger">imio.smartweb.core</property>
|
62
|
+
<property name="loggingLevel">20</property>
|
63
|
+
<property
|
64
|
+
name="message">Published content change notification sent for &c (user: &u).</property>
|
65
|
+
</action>
|
66
|
+
</actions>
|
67
|
+
</rule>
|
68
|
+
<rule name="rule-3" title="Notification d'ajout de section à un contenu publié"
|
69
|
+
cascading="False" description="" enabled="True"
|
70
|
+
event="zope.lifecycleevent.interfaces.IObjectAddedEvent"
|
71
|
+
stop-after="False">
|
72
|
+
<conditions>
|
73
|
+
<condition type="plone.conditions.PortalType">
|
74
|
+
<property name="check_types">
|
75
|
+
<element>imio.smartweb.SectionText</element>
|
76
|
+
</property>
|
77
|
+
</condition>
|
78
|
+
<condition type="plone.conditions.TalesExpression">
|
79
|
+
<property
|
80
|
+
name="tales_expression">python: hasattr(here, "aq_parent") and portal.portal_workflow.getInfoFor(here.aq_parent, "review_state", "") == "published"</property>
|
81
|
+
</condition>
|
82
|
+
</conditions>
|
83
|
+
<actions>
|
84
|
+
<action type="plone.actions.Mail">
|
85
|
+
<property name="subject">Contenu publié modifié sur le site</property>
|
86
|
+
<property name="source"/>
|
87
|
+
<property name="recipients">${reviewer_emails}</property>
|
88
|
+
<property name="exclude_actor">False</property>
|
89
|
+
<property name="message">Une section texte a été ajoutée à un contenu déjà publié. Cliquez sur le lien pour consulter la section texte ajoutée : ${absolute_url}</property>
|
90
|
+
</action>
|
91
|
+
<action type="plone.actions.Logger">
|
92
|
+
<property name="targetLogger">imio.smartweb.core</property>
|
93
|
+
<property name="loggingLevel">20</property>
|
94
|
+
<property
|
95
|
+
name="message">Published content add notification sent for &c (user: &u).</property>
|
96
|
+
</action>
|
97
|
+
</actions>
|
98
|
+
</rule>
|
99
|
+
<assignment name="rule-1" bubbles="True" enabled="True" location=""/>
|
100
|
+
<assignment name="rule-2" bubbles="True" enabled="True" location=""/>
|
101
|
+
<assignment name="rule-3" bubbles="True" enabled="True" location=""/>
|
102
|
+
</contentrules>
|
imio/smartweb/core/profiles.zcml
CHANGED
@@ -45,6 +45,14 @@
|
|
45
45
|
provides="Products.GenericSetup.interfaces.EXTENSION"
|
46
46
|
/>
|
47
47
|
|
48
|
+
<genericsetup:registerProfile
|
49
|
+
name="validation"
|
50
|
+
title="imio.smartweb.core validation"
|
51
|
+
directory="profiles/validation"
|
52
|
+
description="Installs smartweb validation content rules"
|
53
|
+
provides="Products.GenericSetup.interfaces.EXTENSION"
|
54
|
+
/>
|
55
|
+
|
48
56
|
<genericsetup:registerProfile
|
49
57
|
name="last-compilation"
|
50
58
|
title="imio.smartweb.core last compilation dates"
|
@@ -25,6 +25,8 @@ class BaseRequestForwarder(Service):
|
|
25
25
|
def reply(self):
|
26
26
|
alsoProvides(self.request, IDisableCSRFProtection)
|
27
27
|
url = "/".join(self.traversal_stack)
|
28
|
+
if self.request_type == "events":
|
29
|
+
url = url.replace("@search", "@events")
|
28
30
|
auth_source_url = f"{self.base_url}/{url}"
|
29
31
|
response = self.forward_request(auth_source_url)
|
30
32
|
response = self.add_smartweb_urls(response)
|
@@ -39,34 +41,44 @@ class BaseRequestForwarder(Service):
|
|
39
41
|
token = get_wca_token(self.client_id, self.client_secret)
|
40
42
|
headers = {"Accept": "application/json", "Authorization": token}
|
41
43
|
params = self.request.form
|
42
|
-
|
44
|
+
if method == "GET":
|
45
|
+
params = self.add_missing_metadatas(params)
|
43
46
|
data = json_body(self.request)
|
44
47
|
|
45
48
|
# Forward the request to the authentic source
|
46
49
|
auth_source_response = requests.request(
|
47
|
-
method, url, params=params, headers=headers,
|
50
|
+
method, url, params=params, headers=headers, json=data
|
48
51
|
)
|
49
|
-
|
50
52
|
response = self.request.response
|
51
53
|
# Set the status code and headers from the authentic source server response
|
52
54
|
response.setStatus(auth_source_response.status_code)
|
53
55
|
for header, value in auth_source_response.headers.items():
|
54
56
|
response.setHeader(header, value)
|
55
57
|
|
58
|
+
if auth_source_response.status_code == 204 or auth_source_response.text == "":
|
59
|
+
# Empty response
|
60
|
+
return ""
|
61
|
+
|
56
62
|
return auth_source_response.json()
|
57
63
|
|
64
|
+
def construct_url(self, view_url, item):
|
65
|
+
# we can construct a Smartweb-related URL for item
|
66
|
+
# TODO: handle other views & translations (use/refactor code in
|
67
|
+
# search endpoint)
|
68
|
+
item_uid = item["UID"]
|
69
|
+
item_id = item.get("id", "content")
|
70
|
+
item["smartweb_url"] = f"{view_url}/{item_id}?u={item_uid}"
|
71
|
+
|
58
72
|
def add_smartweb_urls(self, json_data):
|
59
|
-
if "items" not in json_data:
|
73
|
+
if "items" not in json_data and "@id" not in json_data:
|
74
|
+
return json_data
|
75
|
+
default_view_url = get_default_view_url(self.request_type)
|
76
|
+
if "@id" in json_data and "UID" in json_data:
|
77
|
+
self.construct_url(default_view_url, json_data)
|
60
78
|
return json_data
|
61
79
|
for item in json_data.get("items", []):
|
62
80
|
if "@id" in item and "UID" in item:
|
63
|
-
|
64
|
-
# TODO: handle other views & translations (use/refactor code in
|
65
|
-
# search endpoint)
|
66
|
-
default_view_url = get_default_view_url(self.request_type)
|
67
|
-
item_uid = item["UID"]
|
68
|
-
item_id = item["id"]
|
69
|
-
item["smartweb_url"] = f"{default_view_url}#/{item_id}?u={item_uid}"
|
81
|
+
self.construct_url(default_view_url, item)
|
70
82
|
return json_data
|
71
83
|
|
72
84
|
def add_missing_metadatas(self, params):
|
@@ -4,6 +4,8 @@ from imio.smartweb.common.faceted.utils import configure_faceted
|
|
4
4
|
from imio.smartweb.common.utils import is_log_active
|
5
5
|
from imio.smartweb.common.utils import remove_cropping
|
6
6
|
from imio.smartweb.core.behaviors.minisite import IImioSmartwebMinisite
|
7
|
+
from imio.smartweb.core.utils import get_iadeliberation_institution_from_registry
|
8
|
+
from imio.smartweb.core.utils import get_iadeliberation_json
|
7
9
|
from imio.smartweb.core.utils import safe_html
|
8
10
|
from imio.smartweb.locales import SmartwebMessageFactory as _
|
9
11
|
from plone import api
|
@@ -106,3 +108,25 @@ def modified_content(obj, event):
|
|
106
108
|
class_name = d.interface.__identifier__.split(".")[-1]
|
107
109
|
for field_name in d.attributes:
|
108
110
|
check_image_field(obj, d.interface, class_name, field_name)
|
111
|
+
|
112
|
+
|
113
|
+
def added_publication(obj, event):
|
114
|
+
"""save json attributes on object attributes"""
|
115
|
+
# query the deliberation API with the
|
116
|
+
# selected publication UID to retrieve all informations
|
117
|
+
iadeliberation_institution = get_iadeliberation_institution_from_registry()
|
118
|
+
url = f"{iadeliberation_institution}/publications/{obj.linked_publication}?fullobjects=y"
|
119
|
+
try:
|
120
|
+
json_publication = get_iadeliberation_json(url)
|
121
|
+
obj.title = json_publication.get("title")
|
122
|
+
obj.description = json_publication.get("description")
|
123
|
+
obj.publication_uid = json_publication.get("UID")
|
124
|
+
obj.publication_url = json_publication.get("@id")
|
125
|
+
obj.publication_datetime = json_publication.get("effective")
|
126
|
+
obj.publication_document_type = json_publication.get("document_type").get(
|
127
|
+
"title"
|
128
|
+
)
|
129
|
+
obj.publication_category = json_publication.get("category").get("title")
|
130
|
+
obj.publication_attached_file = json_publication.get("file")
|
131
|
+
except Exception:
|
132
|
+
logger.error(f"Error while trying to get publication data from {url}")
|
@@ -21,4 +21,8 @@
|
|
21
21
|
zope.lifecycleevent.interfaces.IObjectModifiedEvent"
|
22
22
|
handler=".subscribers.modified_content" />
|
23
23
|
|
24
|
+
<subscriber for="imio.smartweb.core.contents.IPublication
|
25
|
+
zope.lifecycleevent.interfaces.IObjectAddedEvent"
|
26
|
+
handler=".subscribers.added_publication" />
|
27
|
+
|
24
28
|
</configure>
|