imio.smartweb.common 1.2.26__tar.gz → 1.2.28__tar.gz
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_common-1.2.26 → imio_smartweb_common-1.2.28}/CHANGES.rst +19 -1
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/PKG-INFO +37 -3
- imio_smartweb_common-1.2.28/requirements-6.1.txt +1 -0
- imio_smartweb_common-1.2.28/requirements-coverage.txt +2 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/setup.py +4 -1
- imio_smartweb_common-1.2.28/src/imio/smartweb/common/adapters.py +46 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/adapters.zcml +6 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/collective_taxonomy_controlpanel.py +0 -3
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/cropping.py +4 -5
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/configure.zcml +1 -0
- imio_smartweb_common-1.2.28/src/imio/smartweb/common/tests/test_widgets.py +120 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/utils.py +26 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio.smartweb.common.egg-info/PKG-INFO +37 -3
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio.smartweb.common.egg-info/SOURCES.txt +2 -1
- imio_smartweb_common-1.2.26/requirements-coverage.txt +0 -2
- imio_smartweb_common-1.2.26/src/imio/smartweb/common/adapters.py +0 -19
- imio_smartweb_common-1.2.26/src/imio/smartweb/common/tests/test_widgets.py +0 -61
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/CONTRIBUTORS.rst +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/DEVELOP.rst +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/LICENSE.GPL +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/LICENSE.rst +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/MANIFEST.in +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/README.rst +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/docs/conf.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/docs/index.rst +0 -0
- /imio_smartweb_common-1.2.26/requirements.txt → /imio_smartweb_common-1.2.28/requirements-6.0.txt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/setup.cfg +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/behaviors/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/behaviors/configure.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/behaviors/iam.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/behaviors/topics.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/configure.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/description.pt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/description.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/edit_taxonomy_data.pt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/forms.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/overrides/plone.app.z3cform.templates.widget.pt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/privacy/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/privacy/configure.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/privacy/form.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/privacy/utils.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/privacy/views.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/scaling.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/Makefile +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/package.json +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/smartweb-common-edit-compiled.css +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/smartweb-common-edit-compiled.js +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/smartweb-common-view-compiled.css +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/smartweb-common-view-compiled.js +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/src/edit.js +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/src/edit.less +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/src/view.js +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/src/view.less +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/static/webpack.config.js +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/browser/vocabulary.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/caching.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/caching_overrides.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/config.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/contact_utils.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/faceted/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/faceted/configure.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/faceted/utils.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/faceted/widget.pt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/faceted/widget.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/indexers.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/indexers.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/interfaces.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/permissions.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/privacy.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/privacy.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/default/actions.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/default/browserlayer.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/default/catalog.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/default/metadata.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/default/registry.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/default/rolemap.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/testing/catalog.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/testing/metadata.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/testing/registry.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/testing/types/Collection.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/testing/types/Document.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/testing/types/Folder.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles/uninstall/browserlayer.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/rest/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/rest/configure.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/rest/odwb.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/rest/search_filters.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/rest/utils.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/setuphandlers.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/sharing/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/sharing/configure.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/sharing/localroles.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/sharing/permissions.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/sharing/permissions.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/subscribers.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/subscribers.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/testing.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/testing.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/resources/image.png +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/resources/image_1400x800.png +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/resources/image_1800x700.png +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/robot/test_example.robot +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_cropping.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_description.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_forms.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_indexes.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_local_roles.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_permissions.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_privacy.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_rest.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_robot.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_setup.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_subscribers.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_taxonomy.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_text.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_utils.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_viewlets.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_vocabularies.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/tests/test_vocabulary.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/configure.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1007_to_1008/rolemap.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1008_to_1009/actions.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1009_to_1010/registry/tiny_nonbreakingspace.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1010_to_1011/registry/resources.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1010_to_1011/registry/scales.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1010_to_1011/registry/tinymce.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1011_to_1012/registry/bundles.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1013_to_1014/registry/tinymce.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1014_to_1015/registry/syndication.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1015_to_1016/registry/patched-faceted-jquery.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1016_to_1017/registry/scales.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1017_to_1018/registry.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1018_to_1019/registry/scales.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1022_to_1023/registry/scales.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1023_to_1024/registry/scales.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1025_to_1026/registry/scales.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1027_to_1028/restored-faceted-jquery.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1028_to_1029/registry.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/profiles/1029_to_1030/registry.xml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/upgrades/upgrades.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/viewlets/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/viewlets/analytics.pt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/viewlets/colophon.pt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/viewlets/colophon.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/viewlets/configure.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/viewlets/privacy.pt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/viewlets/privacy.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/viewlets/skip_to_content.pt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/viewlets/skip_to_content.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/vocabularies.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/vocabularies.zcml +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/widgets/__init__.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/widgets/select.py +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio.smartweb.common.egg-info/dependency_links.txt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio.smartweb.common.egg-info/namespace_packages.txt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio.smartweb.common.egg-info/not-zip-safe +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio.smartweb.common.egg-info/requires.txt +0 -0
- {imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio.smartweb.common.egg-info/top_level.txt +0 -0
|
@@ -2,6 +2,23 @@ Changelog
|
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
1.2.28 (2025-04-30)
|
|
6
|
+
-------------------
|
|
7
|
+
|
|
8
|
+
- Upgrade dev environment to Plone 6.1-latest
|
|
9
|
+
[remdub]
|
|
10
|
+
|
|
11
|
+
- Add tests for Plone 6.1-latest and add Python 3.13
|
|
12
|
+
[remdub]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
1.2.27 (2025-03-19)
|
|
16
|
+
-------------------
|
|
17
|
+
|
|
18
|
+
- WEB-4122 : Create adapter/validator to filter valid image mimetype in our solutions
|
|
19
|
+
[boulch]
|
|
20
|
+
|
|
21
|
+
|
|
5
22
|
1.2.26 (2025-03-12)
|
|
6
23
|
-------------------
|
|
7
24
|
|
|
@@ -58,7 +75,8 @@ Changelog
|
|
|
58
75
|
1.2.19 (2025-01-09)
|
|
59
76
|
-------------------
|
|
60
77
|
|
|
61
|
-
-
|
|
78
|
+
- WEB-4153 : Override @vocabularies endpoint to add a cache ruleset on it
|
|
79
|
+
[remdub]
|
|
62
80
|
|
|
63
81
|
|
|
64
82
|
1.2.18 (2024-07-01)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: imio.smartweb.common
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.28
|
|
4
4
|
Summary: Common utilities, vocabularies, taxonomies for imio.smartweb & co products
|
|
5
5
|
Home-page: https://github.com/imio/imio.smartweb.common
|
|
6
6
|
Author: iMio
|
|
@@ -15,10 +15,13 @@ Classifier: Environment :: Web Environment
|
|
|
15
15
|
Classifier: Framework :: Plone
|
|
16
16
|
Classifier: Framework :: Plone :: Addon
|
|
17
17
|
Classifier: Framework :: Plone :: 6.0
|
|
18
|
+
Classifier: Framework :: Plone :: 6.1
|
|
18
19
|
Classifier: Programming Language :: Python
|
|
19
20
|
Classifier: Programming Language :: Python :: 3
|
|
20
21
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
25
|
Classifier: Operating System :: OS Independent
|
|
23
26
|
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
|
|
24
27
|
Requires-Python: >=3.10
|
|
@@ -51,6 +54,19 @@ Requires-Dist: plone.app.robotframework[debug]; extra == "test"
|
|
|
51
54
|
Requires-Dist: plone.restapi[test]; extra == "test"
|
|
52
55
|
Requires-Dist: freezegun; extra == "test"
|
|
53
56
|
Requires-Dist: mock; extra == "test"
|
|
57
|
+
Dynamic: author
|
|
58
|
+
Dynamic: author-email
|
|
59
|
+
Dynamic: classifier
|
|
60
|
+
Dynamic: description
|
|
61
|
+
Dynamic: home-page
|
|
62
|
+
Dynamic: keywords
|
|
63
|
+
Dynamic: license
|
|
64
|
+
Dynamic: license-file
|
|
65
|
+
Dynamic: project-url
|
|
66
|
+
Dynamic: provides-extra
|
|
67
|
+
Dynamic: requires-dist
|
|
68
|
+
Dynamic: requires-python
|
|
69
|
+
Dynamic: summary
|
|
54
70
|
|
|
55
71
|
.. This README is meant for consumption by humans and pypi. Pypi can render rst files so please do not use Sphinx features.
|
|
56
72
|
If you want to learn more about writing documentation, please check out: http://docs.plone.org/about/documentation_styleguide.html
|
|
@@ -162,6 +178,23 @@ Changelog
|
|
|
162
178
|
=========
|
|
163
179
|
|
|
164
180
|
|
|
181
|
+
1.2.28 (2025-04-30)
|
|
182
|
+
-------------------
|
|
183
|
+
|
|
184
|
+
- Upgrade dev environment to Plone 6.1-latest
|
|
185
|
+
[remdub]
|
|
186
|
+
|
|
187
|
+
- Add tests for Plone 6.1-latest and add Python 3.13
|
|
188
|
+
[remdub]
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
1.2.27 (2025-03-19)
|
|
192
|
+
-------------------
|
|
193
|
+
|
|
194
|
+
- WEB-4122 : Create adapter/validator to filter valid image mimetype in our solutions
|
|
195
|
+
[boulch]
|
|
196
|
+
|
|
197
|
+
|
|
165
198
|
1.2.26 (2025-03-12)
|
|
166
199
|
-------------------
|
|
167
200
|
|
|
@@ -218,7 +251,8 @@ Changelog
|
|
|
218
251
|
1.2.19 (2025-01-09)
|
|
219
252
|
-------------------
|
|
220
253
|
|
|
221
|
-
-
|
|
254
|
+
- WEB-4153 : Override @vocabularies endpoint to add a cache ruleset on it
|
|
255
|
+
[remdub]
|
|
222
256
|
|
|
223
257
|
|
|
224
258
|
1.2.18 (2024-07-01)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
-r https://dist.plone.org/release/6.1-latest/requirements.txt
|
|
@@ -16,7 +16,7 @@ long_description = "\n\n".join(
|
|
|
16
16
|
|
|
17
17
|
setup(
|
|
18
18
|
name="imio.smartweb.common",
|
|
19
|
-
version="1.2.
|
|
19
|
+
version="1.2.28",
|
|
20
20
|
description="Common utilities, vocabularies, taxonomies for imio.smartweb & co products",
|
|
21
21
|
long_description=long_description,
|
|
22
22
|
# Get more from https://pypi.org/classifiers/
|
|
@@ -26,10 +26,13 @@ setup(
|
|
|
26
26
|
"Framework :: Plone",
|
|
27
27
|
"Framework :: Plone :: Addon",
|
|
28
28
|
"Framework :: Plone :: 6.0",
|
|
29
|
+
"Framework :: Plone :: 6.1",
|
|
29
30
|
"Programming Language :: Python",
|
|
30
31
|
"Programming Language :: Python :: 3",
|
|
31
32
|
"Programming Language :: Python :: 3.10",
|
|
33
|
+
"Programming Language :: Python :: 3.11",
|
|
32
34
|
"Programming Language :: Python :: 3.12",
|
|
35
|
+
"Programming Language :: Python :: 3.13",
|
|
33
36
|
"Operating System :: OS Independent",
|
|
34
37
|
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
|
|
35
38
|
],
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
from imio.smartweb.common.utils import get_image_format
|
|
4
|
+
from plone.namedfile.interfaces import IAvailableSizes
|
|
5
|
+
from plone.namedfile.interfaces import INamedImageField
|
|
6
|
+
from plone.namedfile.field import InvalidImageFile
|
|
7
|
+
from zope.component import adapter
|
|
8
|
+
from zope.component import getUtility
|
|
9
|
+
from zope.interface import Interface
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class BaseCroppingProvider(object):
|
|
13
|
+
def __init__(self, context):
|
|
14
|
+
self.context = context
|
|
15
|
+
|
|
16
|
+
def get_scales(self, fieldname, request=None):
|
|
17
|
+
if self.context.portal_type == "Image":
|
|
18
|
+
# imio.smartweb.core override get_scales.
|
|
19
|
+
# so this is only available for authentic sources
|
|
20
|
+
return []
|
|
21
|
+
allowed_sizes = getUtility(IAvailableSizes)()
|
|
22
|
+
scales = list(allowed_sizes.keys())
|
|
23
|
+
scales.remove("banner")
|
|
24
|
+
return scales
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@adapter(INamedImageField, Interface)
|
|
28
|
+
class ImageContenttypeValidator:
|
|
29
|
+
def __init__(self, field, value):
|
|
30
|
+
self.field = field
|
|
31
|
+
self.value = value
|
|
32
|
+
|
|
33
|
+
def __call__(self):
|
|
34
|
+
if self.value is None:
|
|
35
|
+
return
|
|
36
|
+
mimetype = get_image_format(self.value)
|
|
37
|
+
|
|
38
|
+
valid_mimetypes = [
|
|
39
|
+
"image/gif",
|
|
40
|
+
"image/jpeg",
|
|
41
|
+
"image/png",
|
|
42
|
+
"image/svg+xml",
|
|
43
|
+
"image/webp",
|
|
44
|
+
]
|
|
45
|
+
if mimetype not in valid_mimetypes:
|
|
46
|
+
raise InvalidImageFile(mimetype, self.field.__name__)
|
|
@@ -2,11 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from collective.taxonomy.interfaces import ITaxonomy
|
|
4
4
|
from collective.taxonomy.jsonimpl import EditTaxonomyData as baseEditTaxonomyData
|
|
5
|
-
from imio.smartweb.locales import SmartwebMessageFactory as _
|
|
6
5
|
from plone import api
|
|
7
6
|
from zope.component import queryUtility
|
|
8
|
-
from zope.component import queryUtility
|
|
9
|
-
from plone import api
|
|
10
7
|
from Products.Five import BrowserView
|
|
11
8
|
|
|
12
9
|
|
|
@@ -51,11 +51,10 @@ class SmartwebCroppingImageScalingFactory(CroppingImageScalingFactory):
|
|
|
51
51
|
):
|
|
52
52
|
storage = Storage(self.context)
|
|
53
53
|
self.box = storage.read(fieldname, scale)
|
|
54
|
-
if scale
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
self.box = storage.read(fieldname, f"{orientation}_affiche")
|
|
54
|
+
if scale and ("portrait" in scale or "paysage" in scale or "carre" in scale):
|
|
55
|
+
orientation = scale.split("_")[0]
|
|
56
|
+
# take cropping box from "affiche" scale
|
|
57
|
+
self.box = storage.read(fieldname, f"{orientation}_affiche")
|
|
59
58
|
if self.box:
|
|
60
59
|
mode = "contain"
|
|
61
60
|
else:
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
from imio.smartweb.common.testing import IMIO_SMARTWEB_COMMON_INTEGRATION_TESTING
|
|
4
|
+
from imio.smartweb.common.widgets.select import TranslatedAjaxSelectWidget
|
|
5
|
+
from importlib.metadata import version
|
|
6
|
+
from plone.api import portal as portal_api
|
|
7
|
+
from zope.publisher.browser import TestRequest
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
import mock
|
|
11
|
+
import unittest
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class TestVocabulary(unittest.TestCase):
|
|
15
|
+
layer = IMIO_SMARTWEB_COMMON_INTEGRATION_TESTING
|
|
16
|
+
|
|
17
|
+
def setUp(self):
|
|
18
|
+
"""Custom shared utility setup for tests"""
|
|
19
|
+
self.request = TestRequest()
|
|
20
|
+
|
|
21
|
+
def test_translated_ajax_select(self):
|
|
22
|
+
portal_api.get_current_language = mock.Mock(return_value="fr")
|
|
23
|
+
widget = TranslatedAjaxSelectWidget(self.request)
|
|
24
|
+
widget.update()
|
|
25
|
+
# __import__("pdb").set_trace()
|
|
26
|
+
if version("plone.app.z3cform") < "4.4.0":
|
|
27
|
+
self.assertEqual(
|
|
28
|
+
{
|
|
29
|
+
"name": None,
|
|
30
|
+
"value": "",
|
|
31
|
+
"pattern": "select2",
|
|
32
|
+
"pattern_options": {"separator": ";"},
|
|
33
|
+
},
|
|
34
|
+
widget._base_args(),
|
|
35
|
+
)
|
|
36
|
+
widget.vocabulary = "imio.smartweb.vocabulary.Topics"
|
|
37
|
+
self.assertEqual(
|
|
38
|
+
widget._base_args(),
|
|
39
|
+
{
|
|
40
|
+
"name": None,
|
|
41
|
+
"value": "",
|
|
42
|
+
"pattern": "select2",
|
|
43
|
+
"pattern_options": {
|
|
44
|
+
"vocabularyUrl": "http://nohost/plone/@@getVocabulary?name=imio.smartweb.vocabulary.Topics",
|
|
45
|
+
"separator": ";",
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
)
|
|
49
|
+
widget.value = "entertainment"
|
|
50
|
+
self.assertEqual(
|
|
51
|
+
widget._base_args(),
|
|
52
|
+
{
|
|
53
|
+
"name": None,
|
|
54
|
+
"value": "entertainment",
|
|
55
|
+
"pattern": "select2",
|
|
56
|
+
"pattern_options": {
|
|
57
|
+
"vocabularyUrl": "http://nohost/plone/@@getVocabulary?name=imio.smartweb.vocabulary.Topics",
|
|
58
|
+
"initialValues": {
|
|
59
|
+
"entertainment": "Activités et divertissement",
|
|
60
|
+
},
|
|
61
|
+
"separator": ";",
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
)
|
|
65
|
+
else:
|
|
66
|
+
# _base.args has been removed
|
|
67
|
+
# see https://github.com/plone/plone.app.z3cform/commit/5de30e9b117885859680dfe3861f134a667cea9c
|
|
68
|
+
self.assertEqual(
|
|
69
|
+
{
|
|
70
|
+
"name": None,
|
|
71
|
+
"value": None,
|
|
72
|
+
"pattern": "select2",
|
|
73
|
+
"pattern_options": {"separator": ";"},
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": widget.name,
|
|
77
|
+
"value": widget.value,
|
|
78
|
+
"pattern": widget.pattern,
|
|
79
|
+
"pattern_options": widget.get_pattern_options(),
|
|
80
|
+
},
|
|
81
|
+
)
|
|
82
|
+
widget.vocabulary = "imio.smartweb.vocabulary.Topics"
|
|
83
|
+
self.assertEqual(
|
|
84
|
+
{
|
|
85
|
+
"name": None,
|
|
86
|
+
"value": None,
|
|
87
|
+
"pattern": "select2",
|
|
88
|
+
"pattern_options": {
|
|
89
|
+
"vocabularyUrl": "http://nohost/plone/@@getVocabulary?name=imio.smartweb.vocabulary.Topics",
|
|
90
|
+
"separator": ";",
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": widget.name,
|
|
95
|
+
"value": widget.value,
|
|
96
|
+
"pattern": widget.pattern,
|
|
97
|
+
"pattern_options": widget.get_pattern_options(),
|
|
98
|
+
},
|
|
99
|
+
)
|
|
100
|
+
widget.value = "entertainment"
|
|
101
|
+
self.assertEqual(
|
|
102
|
+
{
|
|
103
|
+
"name": None,
|
|
104
|
+
"value": "entertainment",
|
|
105
|
+
"pattern": "select2",
|
|
106
|
+
"pattern_options": {
|
|
107
|
+
"vocabularyUrl": "http://nohost/plone/@@getVocabulary?name=imio.smartweb.vocabulary.Topics",
|
|
108
|
+
"initialValues": {
|
|
109
|
+
"entertainment": "Activités et divertissement",
|
|
110
|
+
},
|
|
111
|
+
"separator": ";",
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": widget.name,
|
|
116
|
+
"value": widget.value,
|
|
117
|
+
"pattern": widget.pattern,
|
|
118
|
+
"pattern_options": widget.get_pattern_options(),
|
|
119
|
+
},
|
|
120
|
+
)
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/utils.py
RENAMED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
|
|
3
3
|
from Acquisition import aq_parent
|
|
4
|
+
from io import BytesIO
|
|
4
5
|
from imio.smartweb.common.config import TRANSLATED_VOCABULARIES
|
|
5
6
|
from imio.smartweb.common.interfaces import ICropping
|
|
6
7
|
from imio.smartweb.locales import SmartwebMessageFactory as _
|
|
8
|
+
from PIL import Image
|
|
7
9
|
from plone import api
|
|
8
10
|
from plone.app.imagecropping.storage import Storage
|
|
9
11
|
from plone.dexterity.utils import iterSchemata
|
|
@@ -203,3 +205,27 @@ def get_parent_of_type(context, content_type):
|
|
|
203
205
|
return parent
|
|
204
206
|
parent = aq_parent(parent)
|
|
205
207
|
return None
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
def _get_pil_mimetype(pil_image):
|
|
211
|
+
"""Retourne le MIME type d'une image PIL."""
|
|
212
|
+
format_to_mime = {
|
|
213
|
+
"JPEG": "image/jpeg",
|
|
214
|
+
"PNG": "image/png",
|
|
215
|
+
"GIF": "image/gif",
|
|
216
|
+
"BMP": "image/bmp",
|
|
217
|
+
"TIFF": "image/tiff",
|
|
218
|
+
"WEBP": "image/webp",
|
|
219
|
+
"SVG": "image/svg+xml",
|
|
220
|
+
}
|
|
221
|
+
return format_to_mime.get(pil_image.format, "application/octet-stream")
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
def get_image_format(named_blob_image):
|
|
225
|
+
"""Détecte le format d'une image à partir de son contenu binaire."""
|
|
226
|
+
if named_blob_image and named_blob_image.data:
|
|
227
|
+
try:
|
|
228
|
+
with Image.open(BytesIO(named_blob_image.data)) as img:
|
|
229
|
+
return _get_pil_mimetype(img)
|
|
230
|
+
except Exception:
|
|
231
|
+
return None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: imio.smartweb.common
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.28
|
|
4
4
|
Summary: Common utilities, vocabularies, taxonomies for imio.smartweb & co products
|
|
5
5
|
Home-page: https://github.com/imio/imio.smartweb.common
|
|
6
6
|
Author: iMio
|
|
@@ -15,10 +15,13 @@ Classifier: Environment :: Web Environment
|
|
|
15
15
|
Classifier: Framework :: Plone
|
|
16
16
|
Classifier: Framework :: Plone :: Addon
|
|
17
17
|
Classifier: Framework :: Plone :: 6.0
|
|
18
|
+
Classifier: Framework :: Plone :: 6.1
|
|
18
19
|
Classifier: Programming Language :: Python
|
|
19
20
|
Classifier: Programming Language :: Python :: 3
|
|
20
21
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
25
|
Classifier: Operating System :: OS Independent
|
|
23
26
|
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
|
|
24
27
|
Requires-Python: >=3.10
|
|
@@ -51,6 +54,19 @@ Requires-Dist: plone.app.robotframework[debug]; extra == "test"
|
|
|
51
54
|
Requires-Dist: plone.restapi[test]; extra == "test"
|
|
52
55
|
Requires-Dist: freezegun; extra == "test"
|
|
53
56
|
Requires-Dist: mock; extra == "test"
|
|
57
|
+
Dynamic: author
|
|
58
|
+
Dynamic: author-email
|
|
59
|
+
Dynamic: classifier
|
|
60
|
+
Dynamic: description
|
|
61
|
+
Dynamic: home-page
|
|
62
|
+
Dynamic: keywords
|
|
63
|
+
Dynamic: license
|
|
64
|
+
Dynamic: license-file
|
|
65
|
+
Dynamic: project-url
|
|
66
|
+
Dynamic: provides-extra
|
|
67
|
+
Dynamic: requires-dist
|
|
68
|
+
Dynamic: requires-python
|
|
69
|
+
Dynamic: summary
|
|
54
70
|
|
|
55
71
|
.. This README is meant for consumption by humans and pypi. Pypi can render rst files so please do not use Sphinx features.
|
|
56
72
|
If you want to learn more about writing documentation, please check out: http://docs.plone.org/about/documentation_styleguide.html
|
|
@@ -162,6 +178,23 @@ Changelog
|
|
|
162
178
|
=========
|
|
163
179
|
|
|
164
180
|
|
|
181
|
+
1.2.28 (2025-04-30)
|
|
182
|
+
-------------------
|
|
183
|
+
|
|
184
|
+
- Upgrade dev environment to Plone 6.1-latest
|
|
185
|
+
[remdub]
|
|
186
|
+
|
|
187
|
+
- Add tests for Plone 6.1-latest and add Python 3.13
|
|
188
|
+
[remdub]
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
1.2.27 (2025-03-19)
|
|
192
|
+
-------------------
|
|
193
|
+
|
|
194
|
+
- WEB-4122 : Create adapter/validator to filter valid image mimetype in our solutions
|
|
195
|
+
[boulch]
|
|
196
|
+
|
|
197
|
+
|
|
165
198
|
1.2.26 (2025-03-12)
|
|
166
199
|
-------------------
|
|
167
200
|
|
|
@@ -218,7 +251,8 @@ Changelog
|
|
|
218
251
|
1.2.19 (2025-01-09)
|
|
219
252
|
-------------------
|
|
220
253
|
|
|
221
|
-
-
|
|
254
|
+
- WEB-4153 : Override @vocabularies endpoint to add a cache ruleset on it
|
|
255
|
+
[remdub]
|
|
222
256
|
|
|
223
257
|
|
|
224
258
|
1.2.18 (2024-07-01)
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
|
|
3
|
-
from plone.namedfile.interfaces import IAvailableSizes
|
|
4
|
-
from zope.component import getUtility
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class BaseCroppingProvider(object):
|
|
8
|
-
def __init__(self, context):
|
|
9
|
-
self.context = context
|
|
10
|
-
|
|
11
|
-
def get_scales(self, fieldname, request=None):
|
|
12
|
-
if self.context.portal_type == "Image":
|
|
13
|
-
# imio.smartweb.core override get_scales.
|
|
14
|
-
# so this is only available for authentic sources
|
|
15
|
-
return []
|
|
16
|
-
allowed_sizes = getUtility(IAvailableSizes)()
|
|
17
|
-
scales = list(allowed_sizes.keys())
|
|
18
|
-
scales.remove("banner")
|
|
19
|
-
return scales
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
|
|
3
|
-
from imio.smartweb.common.testing import IMIO_SMARTWEB_COMMON_INTEGRATION_TESTING
|
|
4
|
-
from imio.smartweb.common.widgets.select import TranslatedAjaxSelectWidget
|
|
5
|
-
from plone.api import portal as portal_api
|
|
6
|
-
from zope.publisher.browser import TestRequest
|
|
7
|
-
|
|
8
|
-
import mock
|
|
9
|
-
import unittest
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class TestVocabulary(unittest.TestCase):
|
|
13
|
-
layer = IMIO_SMARTWEB_COMMON_INTEGRATION_TESTING
|
|
14
|
-
|
|
15
|
-
def setUp(self):
|
|
16
|
-
"""Custom shared utility setup for tests"""
|
|
17
|
-
self.request = TestRequest()
|
|
18
|
-
|
|
19
|
-
def test_translated_ajax_select(self):
|
|
20
|
-
portal_api.get_current_language = mock.Mock(return_value="fr")
|
|
21
|
-
widget = TranslatedAjaxSelectWidget(self.request)
|
|
22
|
-
widget.update()
|
|
23
|
-
self.assertEqual(
|
|
24
|
-
{
|
|
25
|
-
"name": None,
|
|
26
|
-
"value": "",
|
|
27
|
-
"pattern": "select2",
|
|
28
|
-
"pattern_options": {"separator": ";"},
|
|
29
|
-
},
|
|
30
|
-
widget._base_args(),
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
widget.vocabulary = "imio.smartweb.vocabulary.Topics"
|
|
34
|
-
self.assertEqual(
|
|
35
|
-
widget._base_args(),
|
|
36
|
-
{
|
|
37
|
-
"name": None,
|
|
38
|
-
"value": "",
|
|
39
|
-
"pattern": "select2",
|
|
40
|
-
"pattern_options": {
|
|
41
|
-
"vocabularyUrl": "http://nohost/plone/@@getVocabulary?name=imio.smartweb.vocabulary.Topics",
|
|
42
|
-
"separator": ";",
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
)
|
|
46
|
-
widget.value = "entertainment"
|
|
47
|
-
self.assertEqual(
|
|
48
|
-
widget._base_args(),
|
|
49
|
-
{
|
|
50
|
-
"name": None,
|
|
51
|
-
"value": "entertainment",
|
|
52
|
-
"pattern": "select2",
|
|
53
|
-
"pattern_options": {
|
|
54
|
-
"vocabularyUrl": "http://nohost/plone/@@getVocabulary?name=imio.smartweb.vocabulary.Topics",
|
|
55
|
-
"initialValues": {
|
|
56
|
-
"entertainment": "Activités et divertissement",
|
|
57
|
-
},
|
|
58
|
-
"separator": ";",
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/imio_smartweb_common-1.2.26/requirements.txt → /imio_smartweb_common-1.2.28/requirements-6.0.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/caching.py
RENAMED
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/indexers.py
RENAMED
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/indexers.zcml
RENAMED
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/interfaces.py
RENAMED
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/privacy.py
RENAMED
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/privacy.zcml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/profiles.zcml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/rest/odwb.py
RENAMED
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/rest/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/subscribers.py
RENAMED
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/testing.py
RENAMED
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/testing.zcml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.26 → imio_smartweb_common-1.2.28}/src/imio/smartweb/common/vocabularies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|