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.
Files changed (573) hide show
  1. {trytond-7.2.2 → trytond-7.2.4}/CHANGELOG +10 -0
  2. {trytond-7.2.2 → trytond-7.2.4}/PKG-INFO +1 -1
  3. {trytond-7.2.2 → trytond-7.2.4}/trytond/__init__.py +1 -1
  4. {trytond-7.2.2 → trytond-7.2.4}/trytond/convert.py +4 -2
  5. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/function.py +10 -1
  6. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/modelstorage.py +1 -1
  7. {trytond-7.2.2 → trytond-7.2.4}/trytond/modules/__init__.py +10 -2
  8. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/email_.py +33 -5
  9. {trytond-7.2.2 → trytond-7.2.4}/trytond/transaction.py +1 -3
  10. {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/PKG-INFO +1 -1
  11. {trytond-7.2.2 → trytond-7.2.4}/COPYRIGHT +0 -0
  12. {trytond-7.2.2 → trytond-7.2.4}/LICENSE +0 -0
  13. {trytond-7.2.2 → trytond-7.2.4}/MANIFEST.in +0 -0
  14. {trytond-7.2.2 → trytond-7.2.4}/README.rst +0 -0
  15. {trytond-7.2.2 → trytond-7.2.4}/bin/trytond +0 -0
  16. {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-admin +0 -0
  17. {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-console +0 -0
  18. {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-cron +0 -0
  19. {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-stat +0 -0
  20. {trytond-7.2.2 → trytond-7.2.4}/bin/trytond-worker +0 -0
  21. {trytond-7.2.2 → trytond-7.2.4}/doc/conf.py +0 -0
  22. {trytond-7.2.2 → trytond-7.2.4}/doc/index.rst +0 -0
  23. {trytond-7.2.2 → trytond-7.2.4}/doc/modules/index.rst +0 -0
  24. {trytond-7.2.2 → trytond-7.2.4}/doc/modules/res/design.rst +0 -0
  25. {trytond-7.2.2 → trytond-7.2.4}/doc/modules/res/index.rst +0 -0
  26. {trytond-7.2.2 → trytond-7.2.4}/doc/modules/res/setup.rst +0 -0
  27. {trytond-7.2.2 → trytond-7.2.4}/doc/modules/res/usage.rst +0 -0
  28. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/backend.rst +0 -0
  29. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/bus.rst +0 -0
  30. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/cache.rst +0 -0
  31. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/exceptions.rst +0 -0
  32. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/fields.rst +0 -0
  33. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/filestore.rst +0 -0
  34. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/i18n.rst +0 -0
  35. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/index.rst +0 -0
  36. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/models.rst +0 -0
  37. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/pool.rst +0 -0
  38. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/pyson.rst +0 -0
  39. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/rpc.rst +0 -0
  40. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/sendmail.rst +0 -0
  41. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tests.rst +0 -0
  42. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/barcode.rst +0 -0
  43. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/email.rst +0 -0
  44. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/immutabledict.rst +0 -0
  45. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/index.rst +0 -0
  46. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/logging.rst +0 -0
  47. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/misc.rst +0 -0
  48. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/qrcode.rst +0 -0
  49. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/singleton.rst +0 -0
  50. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/tools/timezone.rst +0 -0
  51. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/transaction.rst +0 -0
  52. {trytond-7.2.2 → trytond-7.2.4}/doc/ref/wizard.rst +0 -0
  53. {trytond-7.2.2 → trytond-7.2.4}/doc/releases.rst +0 -0
  54. {trytond-7.2.2 → trytond-7.2.4}/doc/requirements-doc.txt +0 -0
  55. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/access_rights.rst +0 -0
  56. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/actions.rst +0 -0
  57. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/backend_types.rst +0 -0
  58. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/bus.rst +0 -0
  59. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/configuration.rst +0 -0
  60. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/cron.rst +0 -0
  61. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/domain.rst +0 -0
  62. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/index.rst +0 -0
  63. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/install.rst +0 -0
  64. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/logs.rst +0 -0
  65. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/models/fields_default_value.rst +0 -0
  66. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/models/fields_on_change.rst +0 -0
  67. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/models/index.rst +0 -0
  68. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/modules/index.rst +0 -0
  69. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/pyson.rst +0 -0
  70. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/reports/index.rst +0 -0
  71. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/rpc.rst +0 -0
  72. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/setup_database.rst +0 -0
  73. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/start_server.rst +0 -0
  74. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/task_queue.rst +0 -0
  75. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/testing.rst +0 -0
  76. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/translation.rst +0 -0
  77. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/triggers.rst +0 -0
  78. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/user_application.rst +0 -0
  79. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/user_errors_warnings.rst +0 -0
  80. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/views/extension.rst +0 -0
  81. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/views/index.rst +0 -0
  82. {trytond-7.2.2 → trytond-7.2.4}/doc/topics/wizard.rst +0 -0
  83. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/index.rst +0 -0
  84. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/anatomy.rst +0 -0
  85. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/default_values.rst +0 -0
  86. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/domains.rst +0 -0
  87. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/extend.rst +0 -0
  88. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/function_fields.rst +0 -0
  89. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/index.rst +0 -0
  90. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/model.rst +0 -0
  91. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/on_change.rst +0 -0
  92. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/report.rst +0 -0
  93. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/setup.rst +0 -0
  94. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/setup_database.rst +0 -0
  95. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/states.rst +0 -0
  96. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/table_query.rst +0 -0
  97. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/view.rst +0 -0
  98. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/wizard.rst +0 -0
  99. {trytond-7.2.2 → trytond-7.2.4}/doc/tutorial/module/workflow.rst +0 -0
  100. {trytond-7.2.2 → trytond-7.2.4}/setup.cfg +0 -0
  101. {trytond-7.2.2 → trytond-7.2.4}/setup.py +0 -0
  102. {trytond-7.2.2 → trytond-7.2.4}/tox.ini +0 -0
  103. {trytond-7.2.2 → trytond-7.2.4}/trytond/admin.py +0 -0
  104. {trytond-7.2.2 → trytond-7.2.4}/trytond/application.py +0 -0
  105. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/__init__.py +0 -0
  106. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/database.py +0 -0
  107. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/postgresql/__init__.py +0 -0
  108. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/postgresql/database.py +0 -0
  109. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/postgresql/init.sql +0 -0
  110. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/postgresql/table.py +0 -0
  111. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/sqlite/__init__.py +0 -0
  112. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/sqlite/database.py +0 -0
  113. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/sqlite/init.sql +0 -0
  114. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/sqlite/table.py +0 -0
  115. {trytond-7.2.2 → trytond-7.2.4}/trytond/backend/table.py +0 -0
  116. {trytond-7.2.2 → trytond-7.2.4}/trytond/bus.py +0 -0
  117. {trytond-7.2.2 → trytond-7.2.4}/trytond/cache.py +0 -0
  118. {trytond-7.2.2 → trytond-7.2.4}/trytond/commandline.py +0 -0
  119. {trytond-7.2.2 → trytond-7.2.4}/trytond/config.py +0 -0
  120. {trytond-7.2.2 → trytond-7.2.4}/trytond/console.py +0 -0
  121. {trytond-7.2.2 → trytond-7.2.4}/trytond/const.py +0 -0
  122. {trytond-7.2.2 → trytond-7.2.4}/trytond/cron.py +0 -0
  123. {trytond-7.2.2 → trytond-7.2.4}/trytond/exceptions.py +0 -0
  124. {trytond-7.2.2 → trytond-7.2.4}/trytond/filestore.py +0 -0
  125. {trytond-7.2.2 → trytond-7.2.4}/trytond/i18n.py +0 -0
  126. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/__init__.py +0 -0
  127. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/action.py +0 -0
  128. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/action.xml +0 -0
  129. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/attachment.py +0 -0
  130. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/attachment.xml +0 -0
  131. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/avatar.py +0 -0
  132. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/cache.py +0 -0
  133. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/calendar_.py +0 -0
  134. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/calendar_.xml +0 -0
  135. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/configuration.py +0 -0
  136. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/cron.py +0 -0
  137. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/cron.xml +0 -0
  138. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/date.py +0 -0
  139. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/email.xml +0 -0
  140. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/email_.py +0 -0
  141. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/error.py +0 -0
  142. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/error.xml +0 -0
  143. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/exceptions.py +0 -0
  144. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/export.py +0 -0
  145. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/export.xml +0 -0
  146. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/fonts/LICENSE +0 -0
  147. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/fonts/karla.ttf +0 -0
  148. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ir.xml +0 -0
  149. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/lang.py +0 -0
  150. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/lang.xml +0 -0
  151. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/bg.po +0 -0
  152. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/ca.po +0 -0
  153. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/cs.po +0 -0
  154. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/de.po +0 -0
  155. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/es.po +0 -0
  156. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/es_419.po +0 -0
  157. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/et.po +0 -0
  158. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/fa.po +0 -0
  159. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/fi.po +0 -0
  160. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/fr.po +0 -0
  161. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/hu.po +0 -0
  162. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/id.po +0 -0
  163. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/it.po +0 -0
  164. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/lo.po +0 -0
  165. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/lt.po +0 -0
  166. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/nl.po +0 -0
  167. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/pl.po +0 -0
  168. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/pt.po +0 -0
  169. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/ro.po +0 -0
  170. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/ru.po +0 -0
  171. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/sl.po +0 -0
  172. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/tr.po +0 -0
  173. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/uk.po +0 -0
  174. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/locale/zh_CN.po +0 -0
  175. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/message.py +0 -0
  176. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/message.xml +0 -0
  177. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/model.py +0 -0
  178. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/model.xml +0 -0
  179. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/module.py +0 -0
  180. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/module.xml +0 -0
  181. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/note.py +0 -0
  182. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/note.xml +0 -0
  183. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/queue.xml +0 -0
  184. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/queue_.py +0 -0
  185. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/resource.py +0 -0
  186. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/routes.py +0 -0
  187. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/rule.py +0 -0
  188. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/rule.xml +0 -0
  189. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/sequence.py +0 -0
  190. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/sequence.xml +0 -0
  191. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/session.py +0 -0
  192. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/translation.py +0 -0
  193. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/translation.xml +0 -0
  194. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/trigger.py +0 -0
  195. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/trigger.xml +0 -0
  196. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/tryton.cfg +0 -0
  197. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/__init__.py +0 -0
  198. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/board.rnc +0 -0
  199. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/board.rng +0 -0
  200. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/calendar.rnc +0 -0
  201. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/calendar.rng +0 -0
  202. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/form.rnc +0 -0
  203. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/form.rng +0 -0
  204. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/graph.rnc +0 -0
  205. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/graph.rng +0 -0
  206. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icon.py +0 -0
  207. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icon.xml +0 -0
  208. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/LICENSE +0 -0
  209. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-board.svg +0 -0
  210. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-calendar.svg +0 -0
  211. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-folder.svg +0 -0
  212. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-form.svg +0 -0
  213. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-graph.svg +0 -0
  214. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-list.svg +0 -0
  215. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-settings.svg +0 -0
  216. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/icons/tryton-tree.svg +0 -0
  217. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/menu.py +0 -0
  218. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/menu.xml +0 -0
  219. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/tree.rnc +0 -0
  220. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/tree.rng +0 -0
  221. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/ui.xml +0 -0
  222. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/view.py +0 -0
  223. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/ui/view.xml +0 -0
  224. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_domain_form.xml +0 -0
  225. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_domain_list.xml +0 -0
  226. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_domain_list2.xml +0 -0
  227. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_form.xml +0 -0
  228. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_list.xml +0 -0
  229. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_view_form.xml +0 -0
  230. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_view_list.xml +0 -0
  231. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_act_window_view_list2.xml +0 -0
  232. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_form.xml +0 -0
  233. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_keyword_form.xml +0 -0
  234. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_keyword_list.xml +0 -0
  235. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_list.xml +0 -0
  236. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_report_form.xml +0 -0
  237. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_report_list.xml +0 -0
  238. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_url_form.xml +0 -0
  239. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_url_list.xml +0 -0
  240. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_wizard_form.xml +0 -0
  241. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/action_wizard_list.xml +0 -0
  242. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/attachment_form.xml +0 -0
  243. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/attachment_form_preview.xml +0 -0
  244. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/attachment_list.xml +0 -0
  245. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/cron_form.xml +0 -0
  246. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/cron_list.xml +0 -0
  247. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/email_form.xml +0 -0
  248. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/email_list.xml +0 -0
  249. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/email_template_form.xml +0 -0
  250. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/email_template_list.xml +0 -0
  251. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/error_form.xml +0 -0
  252. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/error_list.xml +0 -0
  253. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/export_form.xml +0 -0
  254. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/export_line_form.xml +0 -0
  255. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/export_line_list.xml +0 -0
  256. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/export_list.xml +0 -0
  257. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/icon_view_form.xml +0 -0
  258. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/icon_view_list.xml +0 -0
  259. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/lang_config_start_form.xml +0 -0
  260. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/lang_form.xml +0 -0
  261. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/lang_list.xml +0 -0
  262. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/message_form.xml +0 -0
  263. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/message_list.xml +0 -0
  264. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_access_form.xml +0 -0
  265. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_access_list.xml +0 -0
  266. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_click_form.xml +0 -0
  267. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_click_list.xml +0 -0
  268. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_form.xml +0 -0
  269. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_list.xml +0 -0
  270. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_rule_form.xml +0 -0
  271. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_button_rule_list.xml +0 -0
  272. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_data_form.xml +0 -0
  273. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_data_list.xml +0 -0
  274. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_field_access_form.xml +0 -0
  275. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_field_access_list.xml +0 -0
  276. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_field_form.xml +0 -0
  277. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_field_list.xml +0 -0
  278. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_form.xml +0 -0
  279. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_list.xml +0 -0
  280. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_log_form.xml +0 -0
  281. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_log_list.xml +0 -0
  282. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/model_print_model_graph_start_form.xml +0 -0
  283. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_activate_upgrade_done_form.xml +0 -0
  284. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_activate_upgrade_start_form.xml +0 -0
  285. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_start_form.xml +0 -0
  286. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_wizard_done_form.xml +0 -0
  287. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_wizard_first_form.xml +0 -0
  288. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_wizard_item_list.xml +0 -0
  289. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_config_wizard_other_form.xml +0 -0
  290. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_dependency_form.xml +0 -0
  291. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_dependency_list.xml +0 -0
  292. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_form.xml +0 -0
  293. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/module_list.xml +0 -0
  294. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/note_form.xml +0 -0
  295. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/note_list.xml +0 -0
  296. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/rule_form.xml +0 -0
  297. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/rule_group_form.xml +0 -0
  298. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/rule_group_list.xml +0 -0
  299. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/rule_list.xml +0 -0
  300. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/sequence_form.xml +0 -0
  301. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/sequence_list.xml +0 -0
  302. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/sequence_type_form.xml +0 -0
  303. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/sequence_type_list.xml +0 -0
  304. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_clean_start_form.xml +0 -0
  305. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_clean_succeed_form.xml +0 -0
  306. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_export_result_form.xml +0 -0
  307. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_export_start_form.xml +0 -0
  308. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_form.xml +0 -0
  309. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_list.xml +0 -0
  310. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_set_start_form.xml +0 -0
  311. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_set_succeed_form.xml +0 -0
  312. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/translation_update_start_form.xml +0 -0
  313. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/trigger_form.xml +0 -0
  314. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/trigger_list.xml +0 -0
  315. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_favorite_form.xml +0 -0
  316. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_favorite_list.xml +0 -0
  317. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_form.xml +0 -0
  318. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_list.xml +0 -0
  319. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_menu_tree.xml +0 -0
  320. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_form.xml +0 -0
  321. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_list.xml +0 -0
  322. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_list_extension.xml +0 -0
  323. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_search_form.xml +0 -0
  324. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_search_list.xml +0 -0
  325. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_optional_form.xml +0 -0
  326. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_optional_list.xml +0 -0
  327. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_state_form.xml +0 -0
  328. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_state_list.xml +0 -0
  329. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_width_form.xml +0 -0
  330. {trytond-7.2.2 → trytond-7.2.4}/trytond/ir/view/ui_view_tree_width_list.xml +0 -0
  331. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/__init__.py +0 -0
  332. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/active.py +0 -0
  333. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/avatar.py +0 -0
  334. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/descriptors.py +0 -0
  335. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/dictschema.py +0 -0
  336. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/digits.py +0 -0
  337. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/exceptions.py +0 -0
  338. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/__init__.py +0 -0
  339. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/binary.py +0 -0
  340. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/boolean.py +0 -0
  341. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/char.py +0 -0
  342. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/date.py +0 -0
  343. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/dict.py +0 -0
  344. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/field.py +0 -0
  345. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/float.py +0 -0
  346. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/fmany2one.py +0 -0
  347. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/integer.py +0 -0
  348. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/many2many.py +0 -0
  349. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/many2one.py +0 -0
  350. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/multiselection.py +0 -0
  351. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/numeric.py +0 -0
  352. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/one2many.py +0 -0
  353. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/one2one.py +0 -0
  354. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/reference.py +0 -0
  355. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/selection.py +0 -0
  356. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/fields/text.py +0 -0
  357. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/match.py +0 -0
  358. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/model.py +0 -0
  359. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/modelsingleton.py +0 -0
  360. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/modelsql.py +0 -0
  361. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/modelview.py +0 -0
  362. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/multivalue.py +0 -0
  363. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/order.py +0 -0
  364. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/symbol.py +0 -0
  365. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/tree.py +0 -0
  366. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/union.py +0 -0
  367. {trytond-7.2.2 → trytond-7.2.4}/trytond/model/workflow.py +0 -0
  368. {trytond-7.2.2 → trytond-7.2.4}/trytond/pool.py +0 -0
  369. {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/__init__.py +0 -0
  370. {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/dispatcher.py +0 -0
  371. {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/jsonrpc.py +0 -0
  372. {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/wrappers.py +0 -0
  373. {trytond-7.2.2 → trytond-7.2.4}/trytond/protocols/xmlrpc.py +0 -0
  374. {trytond-7.2.2 → trytond-7.2.4}/trytond/pyson.py +0 -0
  375. {trytond-7.2.2 → trytond-7.2.4}/trytond/report/__init__.py +0 -0
  376. {trytond-7.2.2 → trytond-7.2.4}/trytond/report/report.py +0 -0
  377. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/__init__.py +0 -0
  378. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/email_reset_password.html +0 -0
  379. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/exceptions.py +0 -0
  380. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/group.py +0 -0
  381. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/group.xml +0 -0
  382. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/ir.py +0 -0
  383. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/ir.xml +0 -0
  384. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/bg.po +0 -0
  385. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/ca.po +0 -0
  386. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/cs.po +0 -0
  387. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/de.po +0 -0
  388. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/es.po +0 -0
  389. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/es_419.po +0 -0
  390. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/et.po +0 -0
  391. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/fa.po +0 -0
  392. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/fi.po +0 -0
  393. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/fr.po +0 -0
  394. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/hu.po +0 -0
  395. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/id.po +0 -0
  396. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/it.po +0 -0
  397. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/lo.po +0 -0
  398. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/lt.po +0 -0
  399. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/nl.po +0 -0
  400. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/pl.po +0 -0
  401. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/pt.po +0 -0
  402. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/ro.po +0 -0
  403. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/ru.po +0 -0
  404. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/sl.po +0 -0
  405. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/tr.po +0 -0
  406. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/uk.po +0 -0
  407. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/locale/zh_CN.po +0 -0
  408. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/message.xml +0 -0
  409. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/res.xml +0 -0
  410. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/routes.py +0 -0
  411. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/tryton.cfg +0 -0
  412. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/user.py +0 -0
  413. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/user.xml +0 -0
  414. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/export_form.xml +0 -0
  415. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/export_list.xml +0 -0
  416. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/group_form.xml +0 -0
  417. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/group_list.xml +0 -0
  418. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/sequence_type_form.xml +0 -0
  419. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_application_form.xml +0 -0
  420. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_application_list.xml +0 -0
  421. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_config_start_form.xml +0 -0
  422. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_form.xml +0 -0
  423. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_form_preferences.xml +0 -0
  424. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_list.xml +0 -0
  425. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_warning_form.xml +0 -0
  426. {trytond-7.2.2 → trytond-7.2.4}/trytond/res/view/user_warning_tree.xml +0 -0
  427. {trytond-7.2.2 → trytond-7.2.4}/trytond/rpc.py +0 -0
  428. {trytond-7.2.2 → trytond-7.2.4}/trytond/security.py +0 -0
  429. {trytond-7.2.2 → trytond-7.2.4}/trytond/sendmail.py +0 -0
  430. {trytond-7.2.2 → trytond-7.2.4}/trytond/status.py +0 -0
  431. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/__init__.py +0 -0
  432. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/access.py +0 -0
  433. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/copy_.py +0 -0
  434. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/export_data.py +0 -0
  435. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_binary.py +0 -0
  436. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_boolean.py +0 -0
  437. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_char.py +0 -0
  438. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_context.py +0 -0
  439. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_date.py +0 -0
  440. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_datetime.py +0 -0
  441. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_dict.py +0 -0
  442. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_float.py +0 -0
  443. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_function.py +0 -0
  444. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_function.xml +0 -0
  445. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_integer.py +0 -0
  446. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_many2many.py +0 -0
  447. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_many2one.py +0 -0
  448. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_multiselection.py +0 -0
  449. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_numeric.py +0 -0
  450. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_one2many.py +0 -0
  451. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_one2one.py +0 -0
  452. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_reference.py +0 -0
  453. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_selection.py +0 -0
  454. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_text.py +0 -0
  455. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_time.py +0 -0
  456. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/field_timedelta.py +0 -0
  457. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/forbidden.txt +0 -0
  458. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/history.py +0 -0
  459. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/import_data.py +0 -0
  460. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/import_data.xml +0 -0
  461. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/message.xml +0 -0
  462. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/mixin.py +0 -0
  463. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/model.py +0 -0
  464. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/model_log.py +0 -0
  465. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/modelsql.py +0 -0
  466. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/modelstorage.py +0 -0
  467. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/modelview.py +0 -0
  468. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/modelview.xml +0 -0
  469. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/mptt.py +0 -0
  470. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/multivalue.py +0 -0
  471. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/path.py +0 -0
  472. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/resource.py +0 -0
  473. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/rule.py +0 -0
  474. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/sequence.xml +0 -0
  475. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_access.py +0 -0
  476. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_backend.py +0 -0
  477. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_bus.py +0 -0
  478. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_cache.py +0 -0
  479. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_copy.py +0 -0
  480. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_descriptors.py +0 -0
  481. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_exportdata.py +0 -0
  482. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_binary.py +0 -0
  483. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_boolean.py +0 -0
  484. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_char.py +0 -0
  485. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_context.py +0 -0
  486. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_date.py +0 -0
  487. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_datetime.py +0 -0
  488. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_depends.py +0 -0
  489. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_dict.py +0 -0
  490. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_float.py +0 -0
  491. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_function.py +0 -0
  492. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_integer.py +0 -0
  493. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_many2many.py +0 -0
  494. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_many2one.py +0 -0
  495. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_multiselection.py +0 -0
  496. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_numeric.py +0 -0
  497. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_one2many.py +0 -0
  498. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_one2one.py +0 -0
  499. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_reference.py +0 -0
  500. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_selection.py +0 -0
  501. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_text.py +0 -0
  502. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_time.py +0 -0
  503. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_field_timedelta.py +0 -0
  504. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_filestore.py +0 -0
  505. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_history.py +0 -0
  506. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_i18n.py +0 -0
  507. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_importdata.py +0 -0
  508. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_ir.py +0 -0
  509. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_mixins.py +0 -0
  510. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_model.py +0 -0
  511. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_model_index.py +0 -0
  512. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_model_log.py +0 -0
  513. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_model_match.py +0 -0
  514. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_modelsingleton.py +0 -0
  515. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_modelsql.py +0 -0
  516. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_modelstorage.py +0 -0
  517. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_modelview.py +0 -0
  518. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_mptt.py +0 -0
  519. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_multivalue.py +0 -0
  520. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_order.py +0 -0
  521. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_path.py +0 -0
  522. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_protocols.py +0 -0
  523. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_pyson.py +0 -0
  524. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_report.py +0 -0
  525. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_res.py +0 -0
  526. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_resource.py +0 -0
  527. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_routes.py +0 -0
  528. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_rpc.py +0 -0
  529. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_rule.py +0 -0
  530. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_sendmail.py +0 -0
  531. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_sequence.py +0 -0
  532. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_tools.py +0 -0
  533. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_transaction.py +0 -0
  534. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_tree.py +0 -0
  535. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_trigger.py +0 -0
  536. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_tryton.py +0 -0
  537. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_union.py +0 -0
  538. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_user.py +0 -0
  539. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_wizard.py +0 -0
  540. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_workflow.py +0 -0
  541. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/test_wsgi.py +0 -0
  542. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/tools.py +0 -0
  543. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/tree.py +0 -0
  544. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/trigger.py +0 -0
  545. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/tryton.cfg +0 -0
  546. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/wizard.py +0 -0
  547. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/wizard.xml +0 -0
  548. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/workflow.py +0 -0
  549. {trytond-7.2.2 → trytond-7.2.4}/trytond/tests/workflow.xml +0 -0
  550. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/__init__.py +0 -0
  551. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/barcode.py +0 -0
  552. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/decimal_.py +0 -0
  553. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/domain_inversion.py +0 -0
  554. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/gevent.py +0 -0
  555. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/immutabledict.py +0 -0
  556. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/logging.py +0 -0
  557. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/misc.py +0 -0
  558. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/qrcode.py +0 -0
  559. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/singleton.py +0 -0
  560. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/string_.py +0 -0
  561. {trytond-7.2.2 → trytond-7.2.4}/trytond/tools/timezone.py +0 -0
  562. {trytond-7.2.2 → trytond-7.2.4}/trytond/tryton.rnc +0 -0
  563. {trytond-7.2.2 → trytond-7.2.4}/trytond/tryton.rng +0 -0
  564. {trytond-7.2.2 → trytond-7.2.4}/trytond/url.py +0 -0
  565. {trytond-7.2.2 → trytond-7.2.4}/trytond/wizard/__init__.py +0 -0
  566. {trytond-7.2.2 → trytond-7.2.4}/trytond/wizard/wizard.py +0 -0
  567. {trytond-7.2.2 → trytond-7.2.4}/trytond/worker.py +0 -0
  568. {trytond-7.2.2 → trytond-7.2.4}/trytond/wsgi.py +0 -0
  569. {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/SOURCES.txt +0 -0
  570. {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/dependency_links.txt +0 -0
  571. {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/not-zip-safe +0 -0
  572. {trytond-7.2.2 → trytond-7.2.4}/trytond.egg-info/requires.txt +0 -0
  573. {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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: trytond
3
- Version: 7.2.2
3
+ Version: 7.2.4
4
4
  Summary: Tryton server
5
5
  Home-page: http://www.tryton.org/
6
6
  Download-URL: http://downloads.tryton.org/7.2/
@@ -13,7 +13,7 @@ try:
13
13
  except ImportError:
14
14
  requests_utils = None
15
15
 
16
- __version__ = "7.2.2"
16
+ __version__ = "7.2.4"
17
17
 
18
18
  os.environ.setdefault(
19
19
  'TRYTOND_APPNAME',
@@ -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
- models = Model.browse(ids)
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
- record = Model(record.id)
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
- return {r.id: convert(method(r, name), name) for r in records}
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 or False
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
- from email.header import Header
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
- def format_address(email, name=None):
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
- name = str(Header(name, 'utf-8'))
93
- return formataddr((name, convert_ascii_email(email)))
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
- # Transaction must be commited to send notifications
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()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: trytond
3
- Version: 7.2.2
3
+ Version: 7.2.4
4
4
  Summary: Tryton server
5
5
  Home-page: http://www.tryton.org/
6
6
  Download-URL: http://downloads.tryton.org/7.2/
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