trytond 7.2.2__tar.gz → 7.2.4__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.
- {trytond-7.2.2 → trytond-7.2.4}/CHANGELOG +10 -0
- {trytond-7.2.2 → trytond-7.2.4}/PKG-INFO +1 -1
- {trytond-7.2.2 → trytond-7.2.4}/trytond/__init__.py +1 -1
- {trytond-7.2.2 → trytond-7.2.4}/trytond/convert.py +4 -2
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/function.py +10 -1
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/modelstorage.py +1 -1
- {trytond-7.2.2 → trytond-7.2.4}/trytond/modules/__init__.py +10 -2
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/email_.py +33 -5
- {trytond-7.2.2 → trytond-7.2.4}/trytond/transaction.py +1 -3
- {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/PKG-INFO +1 -1
- {trytond-7.2.2 → trytond-7.2.4}/COPYRIGHT +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/LICENSE +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/MANIFEST.in +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/README.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/bin/trytond +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-admin +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-console +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-cron +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-stat +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-worker +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/conf.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/modules/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/modules/res/design.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/modules/res/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/modules/res/setup.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/modules/res/usage.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/backend.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/bus.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/cache.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/exceptions.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/fields.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/filestore.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/i18n.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/models.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/pool.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/pyson.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/rpc.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/sendmail.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tests.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/barcode.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/email.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/immutabledict.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/logging.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/misc.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/qrcode.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/singleton.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/timezone.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/transaction.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/ref/wizard.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/releases.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/requirements-doc.txt +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/access_rights.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/actions.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/backend_types.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/bus.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/configuration.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/cron.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/domain.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/install.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/logs.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/models/fields_default_value.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/models/fields_on_change.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/models/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/modules/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/pyson.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/reports/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/rpc.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/setup_database.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/start_server.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/task_queue.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/testing.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/translation.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/triggers.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/user_application.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/user_errors_warnings.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/views/extension.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/views/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/topics/wizard.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/anatomy.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/default_values.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/domains.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/extend.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/function_fields.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/index.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/model.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/on_change.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/report.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/setup.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/setup_database.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/states.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/table_query.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/view.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/wizard.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/workflow.rst +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/setup.cfg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/setup.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/tox.ini +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/admin.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/application.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/database.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/postgresql/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/postgresql/database.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/postgresql/init.sql +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/postgresql/table.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/sqlite/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/sqlite/database.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/sqlite/init.sql +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/sqlite/table.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/table.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/bus.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/cache.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/commandline.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/config.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/console.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/const.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/cron.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/exceptions.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/filestore.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/i18n.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/action.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/action.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/attachment.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/attachment.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/avatar.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/cache.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/calendar_.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/calendar_.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/configuration.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/cron.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/cron.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/date.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/email.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/email_.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/error.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/error.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/exceptions.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/export.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/export.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/fonts/LICENSE +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/fonts/karla.ttf +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ir.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/lang.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/lang.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/bg.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/ca.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/cs.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/de.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/es.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/es_419.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/et.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/fa.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/fi.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/fr.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/hu.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/id.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/it.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/lo.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/lt.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/nl.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/pl.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/pt.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/ro.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/ru.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/sl.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/tr.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/uk.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/zh_CN.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/message.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/message.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/model.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/model.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/module.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/module.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/note.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/note.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/queue.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/queue_.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/resource.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/routes.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/rule.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/rule.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/sequence.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/sequence.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/session.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/translation.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/translation.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/trigger.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/trigger.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/tryton.cfg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/board.rnc +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/board.rng +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/calendar.rnc +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/calendar.rng +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/form.rnc +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/form.rng +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/graph.rnc +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/graph.rng +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icon.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icon.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/LICENSE +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-board.svg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-calendar.svg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-folder.svg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-form.svg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-graph.svg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-list.svg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-settings.svg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-tree.svg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/menu.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/menu.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/tree.rnc +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/tree.rng +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/ui.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/view.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/view.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_domain_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_domain_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_domain_list2.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_view_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_view_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_view_list2.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_keyword_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_keyword_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_report_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_report_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_url_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_url_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_wizard_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_wizard_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/attachment_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/attachment_form_preview.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/attachment_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/cron_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/cron_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/email_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/email_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/email_template_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/email_template_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/error_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/error_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/export_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/export_line_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/export_line_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/export_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/icon_view_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/icon_view_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/lang_config_start_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/lang_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/lang_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/message_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/message_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_access_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_access_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_click_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_click_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_rule_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_rule_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_data_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_data_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_field_access_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_field_access_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_field_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_field_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_log_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_log_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_print_model_graph_start_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_activate_upgrade_done_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_activate_upgrade_start_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_start_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_wizard_done_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_wizard_first_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_wizard_item_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_wizard_other_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_dependency_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_dependency_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/note_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/note_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/rule_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/rule_group_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/rule_group_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/rule_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/sequence_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/sequence_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/sequence_type_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/sequence_type_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_clean_start_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_clean_succeed_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_export_result_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_export_start_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_set_start_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_set_succeed_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_update_start_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/trigger_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/trigger_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_favorite_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_favorite_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_tree.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_list_extension.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_search_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_search_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_optional_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_optional_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_state_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_state_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_width_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_width_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/active.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/avatar.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/descriptors.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/dictschema.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/digits.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/exceptions.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/binary.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/boolean.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/char.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/date.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/dict.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/field.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/float.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/fmany2one.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/integer.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/many2many.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/many2one.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/multiselection.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/numeric.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/one2many.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/one2one.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/reference.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/selection.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/text.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/match.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/model.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/modelsingleton.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/modelsql.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/modelview.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/multivalue.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/order.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/symbol.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/tree.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/union.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/model/workflow.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/pool.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/dispatcher.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/jsonrpc.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/wrappers.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/xmlrpc.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/pyson.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/report/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/report/report.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/email_reset_password.html +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/exceptions.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/group.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/group.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/ir.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/ir.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/bg.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/ca.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/cs.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/de.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/es.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/es_419.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/et.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/fa.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/fi.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/fr.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/hu.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/id.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/it.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/lo.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/lt.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/nl.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/pl.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/pt.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/ro.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/ru.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/sl.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/tr.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/uk.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/zh_CN.po +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/message.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/res.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/routes.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/tryton.cfg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/user.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/user.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/export_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/export_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/group_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/group_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/sequence_type_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_application_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_application_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_config_start_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_form_preferences.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_list.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_warning_form.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_warning_tree.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/rpc.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/security.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/sendmail.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/status.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/access.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/copy_.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/export_data.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_binary.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_boolean.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_char.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_context.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_date.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_datetime.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_dict.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_float.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_function.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_function.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_integer.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_many2many.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_many2one.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_multiselection.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_numeric.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_one2many.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_one2one.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_reference.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_selection.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_text.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_time.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_timedelta.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/forbidden.txt +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/history.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/import_data.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/import_data.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/message.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/mixin.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/model.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/model_log.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/modelsql.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/modelstorage.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/modelview.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/modelview.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/mptt.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/multivalue.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/path.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/resource.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/rule.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/sequence.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_access.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_backend.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_bus.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_cache.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_copy.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_descriptors.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_exportdata.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_binary.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_boolean.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_char.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_context.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_date.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_datetime.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_depends.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_dict.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_float.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_function.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_integer.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_many2many.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_many2one.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_multiselection.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_numeric.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_one2many.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_one2one.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_reference.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_selection.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_text.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_time.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_timedelta.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_filestore.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_history.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_i18n.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_importdata.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_ir.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_mixins.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_model.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_model_index.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_model_log.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_model_match.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_modelsingleton.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_modelsql.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_modelstorage.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_modelview.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_mptt.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_multivalue.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_order.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_path.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_protocols.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_pyson.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_report.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_res.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_resource.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_routes.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_rpc.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_rule.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_sendmail.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_sequence.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_tools.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_transaction.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_tree.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_trigger.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_tryton.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_union.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_user.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_wizard.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_workflow.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_wsgi.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/tools.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/tree.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/trigger.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/tryton.cfg +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/wizard.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/wizard.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/workflow.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/workflow.xml +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/barcode.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/decimal_.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/domain_inversion.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/gevent.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/immutabledict.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/logging.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/misc.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/qrcode.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/singleton.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/string_.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/timezone.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tryton.rnc +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/tryton.rng +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/url.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/wizard/__init__.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/wizard/wizard.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/worker.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond/wsgi.py +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/SOURCES.txt +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/dependency_links.txt +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/not-zip-safe +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/requires.txt +0 -0
- {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/top_level.txt +0 -0
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
|
|
2
|
+
Version 7.2.4 - 2024-06-15
|
|
3
|
+
--------------------------
|
|
4
|
+
* Bug fixes (see mercurial logs for details)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Version 7.2.3 - 2024-06-02
|
|
8
|
+
--------------------------
|
|
9
|
+
* Bug fixes (see mercurial logs for details)
|
|
10
|
+
|
|
11
|
+
|
|
2
12
|
Version 7.2.2 - 2024-05-15
|
|
3
13
|
--------------------------
|
|
4
14
|
* Bug fixes (see mercurial logs for details)
|
|
@@ -373,7 +373,8 @@ class Fs2bdAccessor:
|
|
|
373
373
|
Model = self.pool.get(model_name)
|
|
374
374
|
if not ids:
|
|
375
375
|
ids = list(self.browserecord[module][model_name].keys())
|
|
376
|
-
|
|
376
|
+
with Transaction().set_context(language='en'):
|
|
377
|
+
models = Model.browse(ids)
|
|
377
378
|
for model in models:
|
|
378
379
|
if model.id in self.browserecord[module][model_name]:
|
|
379
380
|
for cache in Transaction().cache.values():
|
|
@@ -755,7 +756,8 @@ class TrytondXmlHandler(sax.handler.ContentHandler):
|
|
|
755
756
|
record = self.fs2db.get_browserecord(
|
|
756
757
|
module, Model.__name__, record.id)
|
|
757
758
|
if not record:
|
|
758
|
-
|
|
759
|
+
with Transaction().set_context(language='en'):
|
|
760
|
+
record = Model(record.id)
|
|
759
761
|
for key in values:
|
|
760
762
|
values[key] = self._clean_value(key, record)
|
|
761
763
|
|
|
@@ -130,7 +130,16 @@ class Function(Field):
|
|
|
130
130
|
else:
|
|
131
131
|
return {n: convert_dict(values[n], n) for n in name}
|
|
132
132
|
else:
|
|
133
|
-
|
|
133
|
+
if isinstance(name, str):
|
|
134
|
+
return {
|
|
135
|
+
r.id: convert(method(r, name), name) for r in records}
|
|
136
|
+
else:
|
|
137
|
+
results = {n: {} for n in name}
|
|
138
|
+
for r in records:
|
|
139
|
+
values = method(r, name)
|
|
140
|
+
for n in name:
|
|
141
|
+
results[n][r.id] = values[n]
|
|
142
|
+
return results
|
|
134
143
|
|
|
135
144
|
def convert(value, name):
|
|
136
145
|
from ..model import Model as BaseModel
|
|
@@ -1069,7 +1069,7 @@ class ModelStorage(Model):
|
|
|
1069
1069
|
row[field[0][:-3]] = res
|
|
1070
1070
|
elif is_prefix_len and ':lang=' in field[-1]:
|
|
1071
1071
|
field_name, lang = field[-1].split(':lang=')
|
|
1072
|
-
translate.setdefault(lang, {})[field_name] = value
|
|
1072
|
+
translate.setdefault(lang, {})[field_name] = value
|
|
1073
1073
|
elif is_prefix_len and prefix == field[:-1]:
|
|
1074
1074
|
field_name = field[-1]
|
|
1075
1075
|
this_field_def = fields_def[field_name]
|
|
@@ -162,6 +162,14 @@ def load_module_graph(graph, pool, update=None, lang=None, indexes=True):
|
|
|
162
162
|
module2state.update(cursor)
|
|
163
163
|
modules = set(modules)
|
|
164
164
|
|
|
165
|
+
new_modules = modules - module2state.keys()
|
|
166
|
+
if new_modules:
|
|
167
|
+
cursor.execute(*ir_module.insert(
|
|
168
|
+
[ir_module.name, ir_module.state,
|
|
169
|
+
ir_module.create_uid, ir_module.create_date],
|
|
170
|
+
[[m, 'not activated', 0, CurrentTimestamp()]
|
|
171
|
+
for m in new_modules]))
|
|
172
|
+
|
|
165
173
|
for node in graph:
|
|
166
174
|
module = node.name
|
|
167
175
|
if module not in MODULES:
|
|
@@ -378,10 +386,10 @@ def load_modules(
|
|
|
378
386
|
Module.update_list()
|
|
379
387
|
|
|
380
388
|
if not Transaction().connection:
|
|
381
|
-
with Transaction().start(database_name, 0):
|
|
389
|
+
with Transaction().start(database_name, 0, readonly=not update):
|
|
382
390
|
_load_modules(update)
|
|
383
391
|
else:
|
|
384
|
-
with Transaction().new_transaction(), \
|
|
392
|
+
with Transaction().new_transaction(readonly=not update), \
|
|
385
393
|
Transaction().set_user(0), \
|
|
386
394
|
Transaction().reset_context():
|
|
387
395
|
_load_modules(update)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
2
2
|
# this repository contains the full copyright notices and license terms.
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
import re
|
|
5
|
+
from email.charset import Charset
|
|
4
6
|
from email.utils import formataddr, parseaddr
|
|
5
7
|
|
|
6
8
|
from trytond.pool import Pool
|
|
@@ -68,7 +70,7 @@ try:
|
|
|
68
70
|
emailinfo = _validate_email(
|
|
69
71
|
email, check_deliverability=False,
|
|
70
72
|
test_environment=Pool.test)
|
|
71
|
-
return emailinfo.ascii_email
|
|
73
|
+
return emailinfo.ascii_email or emailinfo.normalized
|
|
72
74
|
except EmailNotValidError:
|
|
73
75
|
return email
|
|
74
76
|
|
|
@@ -87,7 +89,33 @@ except ImportError:
|
|
|
87
89
|
pass
|
|
88
90
|
|
|
89
91
|
|
|
90
|
-
|
|
92
|
+
# Copy of email.utils.formataddr but without the ASCII enforcement
|
|
93
|
+
specialsre = re.compile(r'[][\\()<>@,:;".]')
|
|
94
|
+
escapesre = re.compile(r'[\\"]')
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
def _formataddr(pair, charset='utf-8'):
|
|
98
|
+
name, address = pair
|
|
91
99
|
if name:
|
|
92
|
-
|
|
93
|
-
|
|
100
|
+
try:
|
|
101
|
+
name.encode('ascii')
|
|
102
|
+
except UnicodeEncodeError:
|
|
103
|
+
if isinstance(charset, str):
|
|
104
|
+
charset = Charset(charset)
|
|
105
|
+
encoded_name = charset.header_encode(name)
|
|
106
|
+
return "%s <%s>" % (encoded_name, address)
|
|
107
|
+
else:
|
|
108
|
+
quotes = ''
|
|
109
|
+
if specialsre.search(name):
|
|
110
|
+
quotes = '"'
|
|
111
|
+
name = escapesre.sub(r'\\\g<0>', name)
|
|
112
|
+
return '%s%s%s <%s>' % (quotes, name, quotes, address)
|
|
113
|
+
return address
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def format_address(email, name=None):
|
|
117
|
+
pair = (name, convert_ascii_email(email))
|
|
118
|
+
try:
|
|
119
|
+
return formataddr(pair)
|
|
120
|
+
except UnicodeEncodeError:
|
|
121
|
+
return _formataddr(pair)
|
|
@@ -231,9 +231,7 @@ class Transaction(object):
|
|
|
231
231
|
if transactions.count(self) == 1:
|
|
232
232
|
try:
|
|
233
233
|
try:
|
|
234
|
-
|
|
235
|
-
if commit and (not self.readonly
|
|
236
|
-
or self.database.has_channel()):
|
|
234
|
+
if commit and not self.readonly:
|
|
237
235
|
self.commit()
|
|
238
236
|
else:
|
|
239
237
|
self.rollback()
|
|
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
|
|
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
|
|
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
|