changeset 861772cd6789 in tryton:5.0
details: https://hg.tryton.org/tryton?cmd=changeset;node=861772cd6789
description:
Avoid comparison between tuple and int in one2many position
Such comparison is no more supported on Python 3.
issue7998
review46801002
(grafted from cc41325ecdeabdf20c714e74c958653aae331a1a)
diffstat:
tryton/gui/window/view_form/screen/screen.py | 4 ++--
tryton/gui/window/view_form/view/form_gtk/one2many.py | 11 ++++++++---
2 files changed, 10 insertions(+), 5 deletions(-)
diffs (51 lines):
diff -r 0e1c23259e75 -r 861772cd6789
tryton/gui/window/view_form/screen/screen.py
--- a/tryton/gui/window/view_form/screen/screen.py Fri Mar 08 18:39:27
2019 +0100
+++ b/tryton/gui/window/view_form/screen/screen.py Fri Mar 08 18:45:21
2019 +0100
@@ -428,8 +428,8 @@
# XXX offset?
pos = record.get_index_path()
else:
- pos = None
- self.signal('record-message', (pos or 0, len(self.group) + self.offset,
+ pos = 0
+ self.signal('record-message', (pos, len(self.group) + self.offset,
self.search_count, record and record.id))
attachment_count = 0
if record and record.attachment_count > 0:
diff -r 0e1c23259e75 -r 861772cd6789
tryton/gui/window/view_form/view/form_gtk/one2many.py
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py Fri Mar 08
18:39:27 2019 +0100
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py Fri Mar 08
18:45:21 2019 +0100
@@ -254,6 +254,11 @@
o2m_size = None
size_limit = False
+ first = last = False
+ if isinstance(self._position, int):
+ first = self._position <= 1
+ last = self._position >= self._length
+
self.but_new.set_sensitive(bool(
not self._readonly
and self.attrs.get('create', True)
@@ -273,10 +278,10 @@
and access['read']))
self.but_next.set_sensitive(bool(
self._position
- and self._position < self._length))
+ and not last))
self.but_pre.set_sensitive(bool(
self._position
- and self._position > 1))
+ and not first))
if self.attrs.get('add_remove'):
self.but_add.set_sensitive(bool(
not self._readonly
@@ -478,7 +483,7 @@
def _sig_label(self, screen, signal_data):
self._position = signal_data[0]
self._length = signal_data[1]
- if self._position >= 1:
+ if self._position:
name = str(self._position)
else:
name = '_'