tryton 7.2.16__tar.gz → 7.2.18__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.
Potentially problematic release.
This version of tryton might be problematic. Click here for more details.
- {tryton-7.2.16 → tryton-7.2.18}/CHANGELOG +10 -0
- {tryton-7.2.16 → tryton-7.2.18}/COPYRIGHT +1 -1
- {tryton-7.2.16 → tryton-7.2.18}/PKG-INFO +4 -3
- {tryton-7.2.16 → tryton-7.2.18}/setup.py +1 -1
- {tryton-7.2.16 → tryton-7.2.18}/tryton/__init__.py +1 -1
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/domain_parser.py +8 -6
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/bg/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/ca/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/cs/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/de/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/es/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/et/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/fa/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/fi/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/fr/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/hu/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/id/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/it/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/lo/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/lt/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/nl/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/pl/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/pt/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/ro/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/ru/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/sl/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/tr/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/uk/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/form.py +4 -1
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/model/field.py +5 -1
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/screen/screen.py +10 -3
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/list.py +4 -1
- tryton-7.2.18/tryton/gui/window/view_form/view/list_gtk/generictreemodel.py +426 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton.egg-info/PKG-INFO +4 -3
- {tryton-7.2.16 → tryton-7.2.18}/tryton.egg-info/SOURCES.txt +1 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton.egg-info/requires.txt +1 -1
- {tryton-7.2.16 → tryton-7.2.18}/LICENSE +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/MANIFEST.in +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/README.rst +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/bin/tryton +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/catalan.nsh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/doc/conf.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/doc/glossary.rst +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/doc/index.rst +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/doc/installation.rst +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/doc/releases.rst +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/doc/requirements-doc.txt +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/doc/usage.rst +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/english.nsh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/farsi.nsh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/french.nsh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/german.nsh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/make-darwin-installer.sh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/make-win32-installer.sh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/portuguese.nsh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/setup-freeze.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/setup.cfg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/setup.nsi +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/slovenian.nsh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/spanish.nsh +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tox.ini +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/action/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/action/main.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/bus.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/cache.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/client.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/button.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/cellrendererbinary.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/cellrendererbutton.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/cellrendererclickablepixbuf.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/cellrenderercombo.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/cellrendererfloat.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/cellrendererinteger.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/cellrenderertext.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/cellrenderertoggle.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/common.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/completion.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/datetime_.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/domain_inversion.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/entry_position.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/environment.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/focus.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/htmltextbuffer.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/number_entry.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/popup_menu.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/richtext.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/selection.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/tempfile.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/timedelta.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/underline.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/common/widget_style.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/config.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/bg/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/ca/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/cs/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/de/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/es/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/es_419/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/et/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/fa/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/fi/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/fr/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/hu/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/id/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/it/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/lo/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/lt/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/nl/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/pl/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/pt/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/ro/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/ru/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/sl/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/tr/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/tryton.pot +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/uk/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.po +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/LICENSE +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-add.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-archive.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-arrow-down.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-arrow-left.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-arrow-right.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-arrow-up.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-attach.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-back.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-barcode-scanner.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-bookmark-border.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-bookmark.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-bookmarks.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-cancel.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-clear.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-close.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-copy.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-create.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-date.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-delete.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-download.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-drag.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-email.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-error.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-exit.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-export.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-filter.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-format-align-center.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-format-align-justify.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-format-align-left.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-format-align-right.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-format-bold.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-format-color-text.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-format-italic.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-format-underline.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-forward.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-history.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-icon.png +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-icon.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-import.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-info.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-launch.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-link.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-log.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-menu.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-note.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-ok.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-open.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-print.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-public.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-question.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-refresh.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-remove.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-save.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-search.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-send.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-sound-off.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-sound-on.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-star-border.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-star.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-switch.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-translate.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-unarchive.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-undo.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton-warning.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton.icns +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton.ico +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/pixmaps/tryton/tryton.svg +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/sounds/LICENSE +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/sounds/danger.wav +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/data/sounds/success.wav +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/device_cookie.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/exceptions.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/fingerprints.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/main.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/about.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/attachment.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/board.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/code_scanner.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/dblogin.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/email_.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/infobar.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/limit.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/log.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/nomodal.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/note.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/preference.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/revision.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/tabcontent.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_board/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_board/action.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_board/view_board.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/model/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/model/group.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/model/record.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/screen/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/calendar_.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/calendar_gtk/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/calendar_gtk/dates_period.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/calendar_gtk/toolbar.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/binary.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/calendar_.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/char.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/checkbox.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/dictionary.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/document.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/float.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/image.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/integer.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/many2many.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/many2one.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/multiselection.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/one2many.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/one2one.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/progressbar.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/pyson.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/reference.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/richtextbox.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/selection.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/state_widget.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/textbox.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/timedelta.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/url.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/form_gtk/widget.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/graph.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/graph_gtk/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/graph_gtk/bar.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/graph_gtk/graph.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/graph_gtk/line.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/graph_gtk/pie.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/list_form.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/list_gtk/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/list_gtk/editabletree.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/list_gtk/widget.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/view_form/view/screen_container.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/win_csv.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/win_export.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/win_form.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/win_import.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/win_search.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/window.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/gui/window/wizard.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/jsonrpc.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/plugins/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/plugins/translation/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/pyson.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/rpc.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/tests/__init__.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/tests/test_common.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/tests/test_common_domain_parser.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/tests/test_common_selection.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/tests/test_common_timedelta.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton/translate.py +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton.desktop +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton.egg-info/dependency_links.txt +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton.egg-info/not-zip-safe +0 -0
- {tryton-7.2.16 → tryton-7.2.18}/tryton.egg-info/top_level.txt +0 -0
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
|
|
2
|
+
Version 7.2.18 - 2025-05-02
|
|
3
|
+
---------------------------
|
|
4
|
+
* Bug fixes (see mercurial logs for details)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Version 7.2.17 - 2025-04-26
|
|
8
|
+
---------------------------
|
|
9
|
+
* Bug fixes (see mercurial logs for details)
|
|
10
|
+
|
|
11
|
+
|
|
2
12
|
Version 7.2.16 - 2025-04-02
|
|
3
13
|
---------------------------
|
|
4
14
|
* Bug fixes (see mercurial logs for details)
|
|
@@ -5,7 +5,7 @@ Copyright (C) 2007-2025 Cédric Krier.
|
|
|
5
5
|
Copyright (C) 2008-2011 Udo Spallek.
|
|
6
6
|
Copyright (C) 2008-2011 virtual things - Preisler & Spallek GbR.
|
|
7
7
|
Copyright (C) 2008-2025 B2CK SPRL.
|
|
8
|
-
Copyright (C) 2010-
|
|
8
|
+
Copyright (C) 2010-2025 Nicolas Évrard.
|
|
9
9
|
Copyright (C) 2011-2012 Rodrigo Hübner.
|
|
10
10
|
Copyright (C) 2012-2013 Antoine Smolders.
|
|
11
11
|
Copyright (C) 2020-2021 Maxime Richez
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: tryton
|
|
3
|
-
Version: 7.2.
|
|
3
|
+
Version: 7.2.18
|
|
4
4
|
Summary: Tryton desktop client
|
|
5
5
|
Home-page: http://www.tryton.org/
|
|
6
6
|
Download-URL: http://downloads.tryton.org/7.2/
|
|
@@ -52,7 +52,7 @@ Requires-Python: >=3.8
|
|
|
52
52
|
License-File: LICENSE
|
|
53
53
|
Requires-Dist: pycairo
|
|
54
54
|
Requires-Dist: python-dateutil
|
|
55
|
-
Requires-Dist: PyGObject
|
|
55
|
+
Requires-Dist: PyGObject>=3.19
|
|
56
56
|
Provides-Extra: calendar
|
|
57
57
|
Requires-Dist: GooCalendar>=0.7; extra == "calendar"
|
|
58
58
|
Provides-Extra: sound
|
|
@@ -65,6 +65,7 @@ Dynamic: download-url
|
|
|
65
65
|
Dynamic: home-page
|
|
66
66
|
Dynamic: keywords
|
|
67
67
|
Dynamic: license
|
|
68
|
+
Dynamic: license-file
|
|
68
69
|
Dynamic: platform
|
|
69
70
|
Dynamic: project-url
|
|
70
71
|
Dynamic: provides-extra
|
|
@@ -5,6 +5,7 @@ import decimal
|
|
|
5
5
|
import gettext
|
|
6
6
|
import io
|
|
7
7
|
import locale
|
|
8
|
+
import math
|
|
8
9
|
from collections import OrderedDict
|
|
9
10
|
from decimal import Decimal
|
|
10
11
|
from shlex import shlex
|
|
@@ -336,17 +337,18 @@ def format_value(field, value, target=None, context=None, _quote_empty=False):
|
|
|
336
337
|
or isinstance(value, bool))):
|
|
337
338
|
return ''
|
|
338
339
|
digit = 0
|
|
339
|
-
|
|
340
|
-
cast = Decimal
|
|
341
|
-
else:
|
|
342
|
-
cast = float
|
|
343
|
-
factor = cast(field.get('factor', 1))
|
|
344
|
-
string_ = str(value * factor)
|
|
340
|
+
string_ = str(value)
|
|
345
341
|
if 'e' in string_:
|
|
346
342
|
string_, exp = string_.split('e')
|
|
347
343
|
digit -= int(exp)
|
|
348
344
|
if '.' in string_:
|
|
349
345
|
digit += len(string_.rstrip('0').split('.')[1])
|
|
346
|
+
if isinstance(value, Decimal):
|
|
347
|
+
cast = Decimal
|
|
348
|
+
else:
|
|
349
|
+
cast = float
|
|
350
|
+
factor = cast(field.get('factor', 1))
|
|
351
|
+
digit -= round(math.log10(factor))
|
|
350
352
|
return locale.localize(
|
|
351
353
|
'{0:.{1}f}'.format(value * factor or 0, digit), True)
|
|
352
354
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -579,6 +579,7 @@ class Form(TabContent):
|
|
|
579
579
|
name = str(position) if position else '_'
|
|
580
580
|
selected = len(self.screen.selected_records)
|
|
581
581
|
view_type = self.screen.current_view.view_type
|
|
582
|
+
next_view_type = self.screen.next_view_type
|
|
582
583
|
has_views = self.screen.number_of_views > 1
|
|
583
584
|
if selected > 1:
|
|
584
585
|
name += '#%i' % selected
|
|
@@ -594,7 +595,9 @@ class Form(TabContent):
|
|
|
594
595
|
for b in self.screen.get_buttons())
|
|
595
596
|
set_sensitive(button_id, bool(position) and can_be_sensitive)
|
|
596
597
|
set_sensitive(
|
|
597
|
-
'switch',
|
|
598
|
+
'switch',
|
|
599
|
+
(position or view_type == 'form' or next_view_type != 'form')
|
|
600
|
+
and has_views)
|
|
598
601
|
set_sensitive('remove', self.screen.deletable)
|
|
599
602
|
set_sensitive('previous', self.screen.has_prev())
|
|
600
603
|
set_sensitive('next', self.screen.has_next())
|
|
@@ -855,6 +855,7 @@ class O2MField(Field):
|
|
|
855
855
|
force_remove=False)
|
|
856
856
|
|
|
857
857
|
if value and (value.get('add') or value.get('update', [])):
|
|
858
|
+
vals_to_set = {}
|
|
858
859
|
# First set already added fields to prevent triggering a
|
|
859
860
|
# second on_change call
|
|
860
861
|
for vals in value.get('update', []):
|
|
@@ -882,7 +883,10 @@ class O2MField(Field):
|
|
|
882
883
|
continue
|
|
883
884
|
record2 = group.get(vals['id'])
|
|
884
885
|
if record2 is not None:
|
|
885
|
-
|
|
886
|
+
to_set = {
|
|
887
|
+
k: v for k, v in vals.items
|
|
888
|
+
if k not in vals_to_set}
|
|
889
|
+
record2.set_on_change(to_set)
|
|
886
890
|
|
|
887
891
|
def validation_domains(self, record, pre_validate=None):
|
|
888
892
|
screen_domain, attr_domain = self.domains_get(record, pre_validate)
|
|
@@ -485,8 +485,6 @@ class Screen:
|
|
|
485
485
|
return self.__current_record
|
|
486
486
|
|
|
487
487
|
def __set_current_record(self, record):
|
|
488
|
-
if self.__current_record == record and record:
|
|
489
|
-
return
|
|
490
488
|
self.__current_record = record
|
|
491
489
|
if record:
|
|
492
490
|
try:
|
|
@@ -541,6 +539,15 @@ class Screen:
|
|
|
541
539
|
def view_index(self):
|
|
542
540
|
return self.__current_view
|
|
543
541
|
|
|
542
|
+
@property
|
|
543
|
+
def next_view_type(self):
|
|
544
|
+
views = self.views + self.view_to_load
|
|
545
|
+
next_view_index = (self.view_index + 1) % len(views)
|
|
546
|
+
next_view = views[next_view_index]
|
|
547
|
+
if not isinstance(next_view, str):
|
|
548
|
+
next_view = next_view.view_type
|
|
549
|
+
return next_view
|
|
550
|
+
|
|
544
551
|
def switch_view(
|
|
545
552
|
self, view_type=None, view_id=None, creatable=None, display=True):
|
|
546
553
|
if view_id is not None:
|
|
@@ -884,7 +891,7 @@ class Screen:
|
|
|
884
891
|
view.expand_nodes(expanded_nodes)
|
|
885
892
|
view.select_nodes(selected_nodes)
|
|
886
893
|
else:
|
|
887
|
-
if selected_nodes:
|
|
894
|
+
if selected_nodes and not self.current_record:
|
|
888
895
|
record = None
|
|
889
896
|
for node in selected_nodes[0]:
|
|
890
897
|
new_record = self.group.get(node)
|
|
@@ -9,7 +9,6 @@ from functools import wraps
|
|
|
9
9
|
from io import StringIO
|
|
10
10
|
|
|
11
11
|
from gi.repository import Gdk, GLib, GObject, Gtk
|
|
12
|
-
from pygtkcompat.generictreemodel import GenericTreeModel
|
|
13
12
|
|
|
14
13
|
import tryton.common as common
|
|
15
14
|
from tryton.common import (
|
|
@@ -23,6 +22,7 @@ from tryton.pyson import PYSONDecoder
|
|
|
23
22
|
|
|
24
23
|
from . import View, XMLViewParser
|
|
25
24
|
from .list_gtk.editabletree import EditableTreeView, TreeView
|
|
25
|
+
from .list_gtk.generictreemodel import GenericTreeModel
|
|
26
26
|
from .list_gtk.widget import (
|
|
27
27
|
M2M, M2O, O2M, O2O, URL, Affix, Binary, Boolean, Button, Char, Date, Dict,
|
|
28
28
|
Float, Image, Int, MultiSelection, ProgressBar, Reference, Selection, Text,
|
|
@@ -1073,6 +1073,9 @@ class ViewTree(View):
|
|
|
1073
1073
|
records.append(model.get_value(iter_, 0))
|
|
1074
1074
|
if self.record not in records:
|
|
1075
1075
|
self.record = records[0]
|
|
1076
|
+
else:
|
|
1077
|
+
# Force record_message
|
|
1078
|
+
self.record = self.record
|
|
1076
1079
|
else:
|
|
1077
1080
|
self.record = None
|
|
1078
1081
|
|